空格绕过,点号绕过
Pass-07
直接上传肯定是失败的
把文件名1.php改成1.php.或1.php_(下划线为空格),这种命名方式在windows系统里是不被允许的,所以需要在burp之类里进行修改,然后绕过验证后,会被windows系统自动去掉后面的点和空格,但要注意Unix/Linux系统没有这个特性。
在php后加一个空格
Pass-08
在php后加一个点
Htaccess绕过
htaccess文件是一个用于Apache Web服务器的配置文件。它允许在不修改主服务器配置文件的情况下,对单个目录(及其子目录)进行配置。这种方式使得网站管理员可以对特定目录应用特定的设置,例如URL重写、访问控制、MIME类型等。
htaccess的主要功能包括:
- 重定向和URL重写:可以将旧的URL重定向到新的URL,或者实现更友好的URL结构。
- 访问控制:可以限制特定IP地址或用户代理访问网站,或者要求用户提供用户名和密码才能访问某些目录。
- 自定义错误页面:可以为特定的HTTP错误代码(如404页面未找到)设置自定义错误页面。
- MIME类型:可以为特定文件扩展名定义MIME类型,以便正确地传输文件内容。
简单理解就是我们自己更改了对方服务器的一个“规定“这里拿来进行绕过上传的防御规则,如下图,第三步还有第四步的顺序可以更换
htaccess1:
#define width 1337
#define height 1337
<FilesMatch "123pinfo.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
- 这里的htaccess文件的意思就是将123 pinfo.jpg按php来进行解析
- 构造好.htaccess文件后,将其改名为.htaccess。
- 先上传123 pinfo.jpg文件
- 再上传.htaccess文件
- 再去访问123 pinfo.jpg即可得到phpinfo页面
Pass-04
先上传一个基础的图片马
测试访问没问题
再上传一个.htaccess文件,抓包改一下Content-Type
由于是服务器内部配置文件,直接访问肯定是403Forbidden
神奇的事情发生了,再去访问我们的图片马,已经按照php解析了
最后我们蚁剑一连接即可