Web安全-基于上传漏洞的GET方式00截断绕过


实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险!

基于上传漏洞的GET方式00截断绕过

实验目的

??通过本实验理解00截断GET方式检测绕过的基本思想,掌握如何利用burpsuit修改抓包信息来让上传检测,熟悉上传漏洞的防护策略。

实验环境

渗透主机:burpsuitv1732

用户名: college
密码: 360College
工具:Burpsuite

目标网站:上传漏洞训练平台(第11关)
用户名: college
密码: 360College

实验原理

??服务器端检测源代码如下图

??代码分析

??(1)白名单检测:指定数组中的上传类型array('jpg','png','gif');

??(2)关键函数功能

strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。

??例如strrpos("1.jpg",".")

??substr(string,start,length)函数

??示例代码

??源代码中的检测方案

??属于文件保存路径没有处理直接拼接函数名称再拼接文件类型可以使用利用00截断绕过。

??截断条件需要满足:

??(1)php版本小于5.3.4

??(2)php的magic_quotes_gpc为OFF状态

实验步骤

第一步 启动目标网站

登录靶机后,进入D:/phpstudy2018目录,然后双击启动phpStudy。

查看php版本:

如果勾选的不是5.2.17版本,则勾选该版本,然后服务器自动重启。

查看magic_quotes_gpc状态。

确保magic_quotes_gpc开关,处于关闭(OFF)状态。

第二步 渗透主机设置burpsuit与Firefox,开启代理抓包功能

第三步 在burpsuit代理抓包功能开启的前提下,上传aa.php,然后修改参数,使用00截断上传绕过检测

??注意:修改的地方有两处如下图所示

??第1处:在../upload/后面添加aa.php%00

??第2处:将aa.php后缀修改为aa.jpg

第四步 成功绕过检测上传aa.php文件至目标网站

??首先在目标网站相关路径下可查看到上传的文件,如下图所示

??另外在渗透主机远程访问http://ip/upload/aa.php成功

思考与总结

??通过本次实验,成功实现了修改抓包信息来绕过上传检测,掌握上传漏洞的攻击方法以及防御措施。