@[TOC】 第四周学习记录
前言
一pass-0.1
1.查看源代码,找到不允许运行的条件。
按F12键,找到上传部分的源代码,删除chackFike()即可上传成功。
二、pass-0.2
1.查看提示看到是在服务端对数据的MIME进行检查,MIME验证就是验证文件的类型。所以我们的思路就是用burp抓包然后修改文件的类型。
修改content-type为mage/png,改包上传即可上传
三、pass-0.3
1.查看提示发现是黑名单验证,因为黑名单规则不严谨,在某些特定环境中某些特殊后缀仍会被当作php文件解析 php、php2、php3、php4、php5都可以。直接上传一个名为1.php5的文件,可以发现直接上传成功。
四、pass-0.4
1.由提示知三中的方式不可行,又由提示知如果文件里面有一个后缀为.png的文件,他就会被解析成.php。
所以上传一个.png文件再上传.htaccess文件,再访问.png即可上传成功。
五、pass-0.5
1.查看源码,和第四关对比,发现这关没有转换大小写的代码,所以上传.PHP文件即可。
六、pass-0.6
1.查看本关源码,对比第四关,发现没有收尾去空。所以尝试再.php后加入空格,失败,后在改包中再次尝试。上传成功
七、pass-0.7
1.。查看关卡源码,对比第四关,发现少了删除文件末尾的点。所以尝试再.php后加入点,失败,后在改包中再次尝试。上传成功
八、pass-0.8
1.查看关卡源码,对比第四关,发现少了去除字符串,和前面关卡一样,在burp中抓包在文件名后加::$DATA
九、pass-0.9
1.查看源码,,发现代码没有循环验证,也就是说转换大小写与去除空格只验证一次,所以我想把后缀改为.PHP .
十、pass-0.10
1.查看源码,是黑名单验证,及上传了黑名单中这些出现过后缀的文件,就会把后缀名删除,所以把后缀改为.phphpp
十一、pass-0.11
1.查看源码,是白名单验证。因为save paths是一个可控环境变量,这个时候需要在改包中使用%00截对php的限制,再上传.php文件
十二、pass-0.12
1.查看源代码,发现接受值变成了post,,因为post方式不会自行解码,所以要对%00进行urldecode编码,再套入十一的流程,再上传.php文件
十三、pass-0.13
1.