第一关
步骤一,打开第一关先点击浏览上传一个jpg格式的图片
步骤二,打开BP修改jpg为php然后放包
步骤三,右键打开图像
成功解析
步骤四,打开蚁剑
第一关还是蛮简单的
第二关
步骤一,打开第二关先点击浏览上传一个jpg格式的图片
步骤二,打开BP修改jpg为php然后放包
步骤三,右键打开图像
步骤四,打开蚁剑
一二关步骤一样...
第三关
步骤一,我们尝试看看能不能上传1.php
我们获得提示:不允许上传.asp,.aspx,.php,.jsp后缀文件!
步骤二,我们尝试改一下文件名称后面加个数字1.php5
步骤三,右键打开图像
成功解析
第四关
环境不行得需要在fofa找一个靶场
编写.htaccess文件,内容解释:将1.jpg文件解析成php文件
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
步骤一,上传.htaccess文件
步骤二,在上传一个1.jpg
步骤三,右键打开图像
成功解析
第五关
文件包含操作
auto_prepend_file ="x.jpg"表示加载第一个PHP代码之前执行指示(包含的)文件
步骤一,上传.htaccess文件.user.ini文件内容
步骤二,在上传一个1.jpg
步骤三,访问readme.php文件
第六关
步骤一,使用大小写绕过
步骤二,右键打开图像
成功解析
第七关
步骤一,打开BP1.php后面加个空格
步骤二,右键打开图像
成功解析
第八关
步骤一,打开BP在文件名称后面加个'.'
步骤二,右键打开图像
成功解析
第九关
步骤一,打开BP在文件名称后面加个'::$DATA'
步骤二,右键打开图像
成功解析
第十关
步骤一,打开BPphp后面加上'. .'
步骤二,右键打开图像
成功解析
第十一关
双写后缀名绕过
步骤一,点击浏览上传php文件
步骤二,右键打开图像
成功解析
第十二关
步骤一,打开BP
在第一行添加xxx.php%00
把php改为jpg
步骤二,右键打开图像
删掉php后面的东西
成功解析
第十三关
这段代码同样是⽩名单限制后缀名,$_POST['save_path']是接收客户端提交的值,客户端可任意修改。所以会产⽣安全漏洞;
POST 下直接注⼊%00 是不⾏的,需要把%00 解码变成空⽩符,截断才有效。才能把⽬录截断成⽂件名;
步骤一,打开BP
添加xxx.php (空格)
把php改为jpg
将%00的hex码更改为00,然后上传
步骤二,右键打开图像
删掉php后面的东西
成功解析
第十四关
⽂件头代表了⽂件是那种类型,我们上传的⽂件内容如果是只有php代码,那么程序在对我们的⽂件头部进⾏检查时,如果发现没有允许上传⽂件类型的⽂件头,就会对我们上传⽂件进⾏拦截。