1.js前端绕过
2.MIME检验
非常的简单,做过的。
3.畸形后缀名绕过

首先看到源代码首先不能使用以下的文件后缀名。
'.asp','.aspx','.php','.jsp'
尝试了双写,大写,改包,.haccess文件还是不行。能用畸形后缀名绕过例如:.php3 .php4 .phtml .phps .php5 .pht
4..htaccess文件
因为它的源代码显示其禁用了一大串可以使用的后缀名,堵死了畸形后缀名绕过的路。
此时我们可以用.htaccess文件来将png中的代码当成php来执行。
详情请看之前的。
".php",".php5",".php4",".php3",".php2","php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2","pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf"
5.大小写绕过
相当于第四题的加强版,禁用了.htaccess文件。所以老办法行不通了,尝试了一下双写后缀名绕过但是不成功现在想想也是,它又没有删除后缀名,我为什么要双写呢,😀。然后使用了大写绕过。
原理:网站源代码没有过滤大小写,而windows对大小写不敏感,linux对大小写敏感。也就是检验时大写的PHP不过滤直接检验不匹配php然后Windows接收到还是按照php文件来执行。
抓包改包就可以了。注意Content-Type,
可以先将png文件上传,然后改文件后缀名为PHP。
6.空格绕过
windows等系统下,文件后缀加空格命名之后是默认自动删除空格。查看网站源代码发现过滤了大小写,没用过滤空格。
本题对大小写进行了检验,所以考虑其他的。看到其对空格没有进行过滤,所以使用空格过滤。
7.双写绕过
在如下的源代码中,多种绕过手段都被禁止,考虑采用双写绕过。
str_ireplace这个函数将php,php5,php4等后缀变成空格,且只执行了一次,所以可以尝试构造文件后缀为pphphp绕过。

8.点的绕过
原理:同空格绕过原理一样,主要原因是windows等系统默认删除文件后缀的.和空格,查看网站源码发现,没有过滤点。
所以我们只需要在php后面加个.就好了。

9.::$DATA绕过
原理:php在windows的适合,如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持"::$DATA"之前的文件名,目的就是不检查后缀名。查看网站源代码。发现没有过滤::$DATA。
这篇博客详细介绍了多种文件上传漏洞的绕过方法,包括禁用JS、MIME类型篡改、畸形后缀名、.htaccess利用、大小写绕过、空格绕过、双写绕过、点的绕过以及::$DATA绕过。这些技术常用于CTF比赛和网络安全测试中,揭示了Web应用安全防护中的潜在风险。
https://blog.youkuaiyun.com/qq_60905276/article/details/121411680?spm=1001.2014.3001.5501
https://blog.youkuaiyun.com/qq_60905276/article/details/121411917?spm=1001.2014.3001.5501
786

被折叠的 条评论
为什么被折叠?



