学习笔记三十八:黑名单验证的突破

黑名单验证的突破包括:

  • 操作系统特性:

1)大小写

2).绕过

3)空格

4)::$DATA

  • 语言特性:

1)00截断

2)特殊可解析后缀

  • 中间件特性:

1)解析漏洞

2).htaccess

  • 代码不严谨:

1)双写后缀

2)对于空格,点等只做单次过滤

操作系统特性:

  • Windows操作系统对大小写不敏感,即php和Php在Windows看来是一样的
  • Windows系统下,如果上传的文件名中test.php::$DATA会在服务器上生成一个test.php的文件,其中的内容和所上传的文件内容相同,并被解析。即上传文件xxx.php::$DATA = xxx.php
  • Windows系统下文件名结尾加入., ,<,·>,>>>,0x81-0xff等字符,会被Windows自动去除

语言特性:

语言 可解析后缀
php php,php5,php4,php3,php2,pHp,pHp5,pHp4,pHp3,pHp2,html,htm,phtml,pht,Html,Htm,pHtml
jsp jsp,jspa,jspx,jsw,jsv,jspf,jtml,jSp,jSpx,jSpa,jSw,jSv,jSpf,jHtml
asp/aspx asp,aspx,asa,asax,ascx,ashx,asmx,cer,aSp,aSpx,aSa,aSax,aScx,aShx,aSmx,cEr

中间件特性:

  • 解析漏洞:

iis6.0,iis7.0/7.5,iis8.0/10.0

apache

nginx

tomcat

……

  • .htaccess

代码不严谨:

  • 双写绕过,比如我们写1.AsaspP 上传后他可能会通过匹配到关键字asp并将其删除,这样我们的文件就变成了1.AsP
  • 对于空格,点只做了单次过滤

测试思路:

  • 使用字典+burp,去fuzz后缀名寻找成功上传的思路
  • 手工测试
上一篇:HTTP Message Handlers in ASP.NET Web API & HttpClient Message Handlers in ASP.NET Web API (转发)


下一篇:【愚公系列】2021年12月 攻防世界-简单题-WEB-010(webshell)