Less-1(文件上传js校验)
题目:完成upload靶场的第一关,通过中国蚁剑读取服务器的目录
点击插件,禁用js(使用插件YesScript2)
浏览上传“一句话木马php”文件
在复制图像链接到蚁剑(成功)
点击“文件管理”查看上传内容
Less-2(mine类型校验)
gif | image/gif |
jpg | image/jpeg |
png | image/png |
json | application/json |
js | application/x-javascript |
html | text/html |
题目:使用bp进行抓包,修改Content-Type值
我们使用bp进行木马.php文件上传抓包
将获取的数据,转发至Repeater
紧接着我们修改Content-Type的值:application/octet-stream修改为image/jpeg 再点击Send
再次复制图片的链接,进入蚁剑进行链接(成功)
Less-4
创建一个 .htaccess文件
SetHandler application/x-httpd-php //将所有的文件全部当做php解析服务器特殊配置
如果在Apache中.htaccess的配置有效。且可被上传。
那可以尝试在.htaccess中写入:<FilesMatch “sec.jpg”>
SetHandler application/x-httpd-php
</FilesMatch>sec.jpg 即可以php脚本解析
Less-12(%00-CVE-2015-2348)
在这里,代码虽然对上传进行了白名单限制但是这里对上传的文件进行文件名重构,那么我们就可以以用这个重构进行绕过
$img path=$ GET['save_path']."/".rand(10,99).date("YmdHis").".".$file_ext;
虽然问题找到了,但是%00对PHP版本有要求
(1)php版本必须小于5.3.4
(2)打开php的配置文件php-ini,将magic_quotes gpc设置为Off
步骤:
创建木马12.php.jpg
上传文件进行抓包
在save_path=../upload/ 后面添加你上传的文件名save_path=../upload/12.php%00.jpg
在进行放过(forward)直到全部放完,让他对浏览器进行交互(中途不关代理)。
接下来我们在进入浏览器查看,发现它提示:文件上传出错!
这说明我们小皮中的php版本太高,在下载低一点的php版本(5.2.17)
再次重复上述步骤,通过蚁剑进行连接(成功)。
Less-14(文件内容监测)
小皮的版本要高,我使用的是
检测种类:
··文件幻数检测
··文件相关信息检测
··文件加载检测
文件幻数检测方法:
··检测文件头,比如:
··jpg文件的文件头为: FF D8FF E0 00 10 4A4649 46
··gif文件的文件头为:4749 463839 61
··png文件的文件头为:89504E47
绕过方式
··在文件幻数后面加上自己的一句话木马代码就行
http://127.0.0.1/upload-labs-master/include.php
上传一句话木马.php(添加头文件),解析出来是一张gif图(也称图片马)
复制图片链接:http://127.0.0.1upload-labs-master/upload/4120240424110649.gif
加上前面我们访问的include.php后加?file=图片链接,在通过蚁剑连接(成功)
http://127.0.0.1/upload-labs-master/include.php?file=./upload/muma.php
成功访问