upload-labs Pass12

管理员 2020-02-19 AM 168℃ 0条

1.通过审查源码,发现这是白名单过滤,只允许上传 jpg png gif 的文件。

关于substr() 函数 关于strrpos() 函数

2.突破点就在于 $_GET['save_path'] 这里, 路径没有处理直接拼接上去的。所以可以利用%00截断绕过 。

要使用%00截断必须要满足两个条件

php版本小于5.3.4 详情关注CVE-2006-7243
php的magic_quotes_gpc为OFF状态   //如果不修改将无法上传成功,默认为ON

phpstudy可以按图中步骤切换phpatudy

关闭 magic_quotes_gpc 的方法,关于 magic_quotes_gpc

3.说了那么多直接干

burpsuite拦截包进行修改文件保存路径

4.文件上传成功

5.直接打开链接文件

是因为 � 这个符号引起的。而且路径也不对

调整路径之后访问,执行成功。

%00的作用就是截断后面的字符串,在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束,所以就不会再读取info.php后面的内容,就把/upload/info.php当成是存储路径存入服务器中。

关于00截断更加具体的解释

非特殊说明,本博所有文章均为博主原创。

评论啦~