1.js前端绕过
禁用js就行了。做过的不细讲了。可以去看CTFHub-文件上传-js前端验证_留将一面与花的博客-CSDN博客1.关闭js前端验证通过F12右上角...处的设置,禁用js就可以通过js前端验证。然后用蚁剑查看就行了。2.bp改包绕过一般的php文件是在经过js前端检验后是上传不了的。先将文件改为png的形式绕过js,再用bp改包为php文件就行了。改为,...https://blog.csdn.net/qq_60905276/article/details/121411680?spm=1001.2014.3001.5501
2.MIME检验
非常的简单,做过的。
CTFHub 文件上传 - MIME验证_留将一面与花的博客-CSDN博客首先了解一下题目,所谓MIME验证就是对文件类型的检测。浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器会在响应头中添加正确的MIME类型。常见类型如下:思路是将MIME验证结果修改为上传文件相同的类型,就可以了1.PHP文件传入2.抓包,改Content-Type的内容为image/png...https://blog.csdn.net/qq_60905276/article/details/121419863?spm=1001.2014.3001.5501
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"
CTFHub-文件上传-.htaccess文件_留将一面与花的博客-CSDN博客https://blog.csdn.net/qq_60905276/article/details/121411917?spm=1001.2014.3001.5501
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。