i春秋-真的很简单 Writeup
第一次接触CTF这种东西,看到老大发了一个CTF连接,想尝试一下。
拿到手看了看这有点像 PHP 代码,这个 if 判断优先计算1000-778
< ?,左边等于222,小于右边的谁?问号的地方只能输入一个字符?
把 maxlength 值改一下,或者去掉,输入比 222 大的数字(估计PHP做了if,不能输入其他字符)得到flag。
打算这周从 ichunqiu 的练习入手,先来看看界面。
左上角提示有几个实验工具供我们使用,菜刀、net.exe、dedeCMS,按照提示先去下载需要的工具
直接使用提供的工具进行爆破
我们已经得到帐号密码,但是密码已经加密,而且长得很奇怪(在这里已经跌过几次),先来了解一下 dedecms 密码加密方式
$password = $row['pwd'];
$pwd = substr($password, 5, 20);
它采取 md5 加密(从网上搜索来看好像是 32 位),这段 PHP 代码使用字符串截取函数,返回第 6 位开始长度为 20 位的字符串(第一位是从 0 开始数而不是 1)。拿我们的密码来解释一下 abab29e084ff095ce3eb
,这是经过函数处理后的密码,也就是说他的前面还有 6 位被截掉 xxxxxxabab29e084ff095ce3ebxxxxxx
(我们用x代替被剔除字符串),
从第6位开始为第一位取到第20位停止那么就是我们现在的密码abab29e084ff095ce3eb
。
我们知道了加密方式后怎么解密?它的方法是前面减去 3 位,后面减去 1 位。现在剩下 16 位的 md5 就可以拿去解密了,下面是另外的情况做个补充。
dedecms首先获得某密码的32位MD5加密值,然后去掉后面8位,这 样,拿剩下的24位来做为密码的加密值.这里我们可以想到,32位转16位可以把32位的前8位和后8位去掉,剩下的中间就是其16位的加密值,于是,我 们可以把dedecms中暴出来的那窜24位加密值的前8位去掉,剩下的16位就可以拿去破解了
接下来我们只需要找到后台让马儿奔跑起来。扫了下后台没有发现入口
网上搜索了一下 dedecms 爆后台得到以下信息
/robots.txt
/data/admin/ver.txt
/data/mysql_error_trace.inc
/data/mysql_error_trace.inc 爆出来补
robots.txt 是无望了,搜到一篇文章:
有了用户名和密码,但是不知道后台地址,如何找后台路径?
dedeCMS漏洞:mysqli_error_trace.inc 文件里会残留后台路径。
dedeCMS目录中的data/mysqli_error_trace.inc文件,是记录数据库出> 错信息。一般是用于网站存在错误,系统自动记录在该文件中,进一步说,就是> 该文件是记录sql错误信息的文件,类似于日志功能,关键是它会记录后台路径。
我想是不是数据库进行连接的拓展更换了所以文件名不一样
本扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之
用我们解出来的密码登录。
找到一个上传点,为了安全一般默认是不能让你上传其他文件的,admin 管理员应该有权限进行修改配置。
看来不做处理真的无法上传,上传有个提示,可以让我们的马儿开心起来。
直接用菜刀连接传一个 cmd 上去
用传的 cmd 连接
访问桌面上的flag文件居然会拒绝访问(没有权限)
用whoami查看一下当前账户(system账户待补充)
拒绝访问应该是权限不够,用 cacls filename 查看一下
权限应该是可以设置的 cacls 不知道怎么用,后面跟个 /?
查看一下帮助文档
cacls filename /G system:F
可以修改权限但是需要确认,shell 中无法输入 Y 这就很尴尬了,百度了方法,可以不用输入确认。先用 cacls filename /E /G system:F
编辑 ACL 进行授权。
授权成功读取 flag
其他方式待补充
参考资料:
最近更新:
发布时间: