目录
Pass-01(前端验证)
首先,准备一句话木马
然后上传我们的木马,提示不允许上传
使用burpsuite抓包,发现仅是前端阻止
在burpsuite里修改文件后缀,放包,木马成功上传
复制路径
http://172.16.2.130/upload-labs/upload/
添加到哥斯拉
成功上线
Pass-02(后端验证)
将我们的木马的格式换成.jpg,上传并抓包
将包中的.jpg换成.php,放包成功上传
Pass-03(黑名单验证,特殊后缀)
后缀改为php2、php3、php4、php5、php6、php7、pht、phtm、phtml,即可成功上传
Pass-04(黑名单验证,.htaccess)
创建一个.htaccess文件
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
意思就是如果文件里面有一个后缀为.jpg的文件,他就会被解析成.php
Pass-05(黑名单验证,大小写绕过)
查看源码,发现这关没有转换大小写的代码
Pass-06(黑名单验证,空格绕过)
查看本关源码,发现没有收尾去空
Pass-07(黑名单验证,点号绕过)
查看关卡源码,发现少了删除文件末尾的点
Pass-08(黑名单验证,特殊字符::$DATA绕过)
查看关卡源码,发现少了去除字符串,可以在文件名后加::$DATA
Pass-09(黑名单)
查看源码,发现大小写、去除空格等它只验证一次
Pass-10(黑名单验证,双写绕过)
这关可以把后缀改为.phphpp,它删除掉中间的php后其后缀仍然为php
Pass-11(%00截断)
%00截断可绕过白名单限制,但需确保PHP版本低于5.3.4且magic_quotes_gpc已关闭
此处使用CTFHub作为环境
打开CTFHub的00截断这道题
为抓到的包做以下修改
浏览器提示上传成功
查看上一级目录发现flag
http://challenge-6c8bf04eda2c0b1a.sandbox.ctfhub.com:10800/upload/2.php?cmd=system('ls ../');
使用cat查看flag_1302119527.php,再点击"F12"查看,得到ctfhub{d619d95421ad5eedf4eead8b}
Pass-12(post %00截断)
使用burpsuite抓包,这关需要对%00进行urldecode编码,之后成功上传
Pass-13(图片马)
准备图片马
http://172.16.2.130/upload-labs/include.php?file=upload//9620240726192939.gif
打开中国菜刀(需要的朋友联系笔者),输入图片马位置和pass参数
成功登录
Pass-14(图片马)
并没有对我们图片马,进行限制。所以照样可以用13关的通关方法
Pass-15(图片马)
并没有对我们图片马,进行限制。所以照样可以用13关的通关方法
Pass-16(二次渲染)
这关需要二次渲染的图片,(网上找不到的话,可以联系笔者)
http://172.16.2.130/upload-labs/include.php?file=upload/27794.gif
打开中国菜刀,输入图片马位置和zoe参数
Pass-17(条件竞争)
通过查看源码,其通过判断文件名称来执行删除操作,如果临时文件的后缀不在黑名单里面,就删除这个临时文件,那么我们可以等这个临时文件在没有删除之前执行我们上传的一句话木马,即利用burp多线程发包,然后不断在浏览器访问我们的webshell,总会有一瞬间的访问成功,完成“下崽”。
一句话木马如下
首先,我们上传PHP文件,用Burpsuite拦截,并发送到攻击器Intruder
通过不断访问“127.0.0.1/upload-labs/upload/17.php”“让其下崽”
Pass-18(图片马)
照样可以用13关的通关方法
Pass-19(黑名单验证)
通过查看源码发现,可以将我们的19.php改成19.jpg后提交上传,保存名称为19.php.