文件上传的几种验证方式【萌新】
在通过文件上传getshell是经常会遇到遭受截断 下面来点一下常遇到到几种基础截断方式
1.JS截断
特点:1->网页反应速度极快
2->通过 右键->审查元素 查看源码是否存在JS判断
突破手段:
浏览器禁用JS调试
1、在Firefox地址栏里输入“about:config”。 2、在搜索栏输入“javascript.enabled”查找到首选项。 3、点击鼠标右键选择“切换”,把“javascript.enabled”键值改为“false” 这样就能禁止JavaScript的运行了.保存到本地将JS代码删除123
另存网页到本地,并将action修改为上传网站的地址 最后将JS语句删除即可
2.过滤文件头
代码对文件头进行判断过滤
突破手段:
1->在文件前添加 GIF89a 然后上传php or asp 文件
2->cmd命令下copy 图片.GIF+shell.php(不清楚是否出于这个原理)
3.过滤文件类型
通过抓包我们可以看到不同的文件content-type字段显示不同的Filetype
存在过滤
突破手段:
通过burpsite 进行修改 我们可以通过抓包,
将content-type字段改为image/jpegd等
4.过滤文件后缀
文件对后缀进行过滤
突破手段:
%00截断:将文件GETSHELL.php修改为GETSHELL.php%00.jpg
“gettype()函数里处理方式是从后往前扫描扩展名,所以判断为 jpg”
%00则起到截断作用,将后续进行不执行 故上传了一个php文件
注意:使用需要用burpsite抓包
多种命名:传不符合文件命名规则的文件名
a.asp.
a.asp(空格)
a.php:1.jpg
会被系统自动去掉不符合规则符号后面的内容。
未完待续新手向,有部分内容转载自其它博客