文件上传的几种验证方式【萌新】

在通过文件上传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抓包
  文件上传的几种验证方式【萌新】
   
   
将%00进行编码 否则无效

多种命名:传不符合文件命名规则的文件名
  a.asp.
  a.asp(空格)
  a.php:1.jpg
会被系统自动去掉不符合规则符号后面的内容。

未完待续新手向,有部分内容转载自其它博客