PASS1:基于本地的后缀名验证
上传1.php直接弹窗
修改JS
上传1.php---复制图像链接
http://192.168.249.1/upload/upload/1.php
PASS2:基于MIME文件类型校验
burpsuite抓包截断
上传1.php
截断,修改为image/jpeg------Forward
发送成功----复制链接
http://192.168.249.1/upload/upload/1.php
PASS3:基于后缀名黑名单进行校验
需要配置以下系统
查看httpd.conf: AddType application/x-httpd-php .增加后缀名
复制1.php—重命名1.phtml
上传1.phtml---复制图像链接
切换版本
http://192.168.249.1/upload/upload/202205180511573883.phtml
PASS4:通过.htaccess文件修改解析规则
先上传一个.htaccess文件,定义直接作为代码执行的文件名
再上传1.jpg
http://192.168.249.1/upload/upload/1.jpg
最后上传up.Jpg
http://192.168.249.1/upload/upload/up.jpg
PASS5:通过.user.ini 文件修改解析规则
http://192.168.249.1/upload/upload/readme.php
1.先上传一个以auto_prepend_file=1.gif为内容的.user.ini文件
2.然后再上传一个内容为php的一句话的脚本,命名为1.gif,
3..user.ini文件里的意思是:所有的php文件都自动包含1.gif文件。.user.ini相当于一个用户自定义的php.ini。
切换版本
http://192.168.249.1/upload/upload/readme.php
PASS6:此题使用后缀名大写进行绕过
修改文件名为 111.Php
上传111.Php
修改版本
http://192.168.249.1/upload/upload/202205181404185291.Php
PASS7:通过特殊符号空格进行绕过
在burpsuite中,开启代理、截断,上传11.php---修改---forward
http://192.168.249.1/upload/upload/202205180908423076.php
PASS8:通过特殊符号.进行绕过
在burpsuite中,开启代理、截断,上传111.php---修改---forward
http://192.168.249.1/upload/upload/111.php.
PASS9:利用后缀名尾部特殊符号::$DATA ,进行绕过(之作用域windows下)
在burpsuite中,截断并修改后缀名为111.php::$DATA
复制链接
http://192.168.249.1/upload/upload/202205180927059822.php
PASS10:通过特殊符号空格和.进行绕过
在burpsuite中,截断并修改后缀名为111.php. .
http://192.168.249.1/upload/upload/111.php.
PASS11:后缀名双写绕过
在burpsuite中,截断并修改后缀名为111.pphphp
http://192.168.249.1/upload/upload/111.php