使用antsword上传文件漏洞到upload靶场之二

发布时间 2023-08-18 01:36:17作者: Kevin_404notfound

使用antsword上传文件漏洞到upload靶场之二

Pass-02

查看源码,我们可以发现此处没有对文件类型进行校验,我们可以直接在bp更改文件类型的方式进行绕过

Bp抓包

右键空白处,发送到repeater,更改图中灰色标记处的文件类型,点击发送,发现可以直接上传成功

找到上传文件的路径

使用蚁剑连接,发现连接成功

打开firefox浏览器,先打开我们php文件所在的路径,F12进入开发者模式,打开hackbar,先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-03

第三关,我们同样地,先看看源码,发现这里把asp aspx php jsp后缀的文件加入了黑名单,这里我们就可以使用不同的后缀来绕过代码设置的黑名单

我们先修改一下phpstudy的版本,更改为php-5.4.45+Apache

在apache的httpd.conf中有如下配置代码:AddType application/x-httpd-php .php .phtml .phps .php5 .pht时存在的漏洞,使用php的等价扩展名

我们先发送php文件,然后使用bp抓包,更改php文件后缀为phtml的格式,发送,发现可以发送成功

这里我们发现,此时文件名字已经改变了

直接使用antsword连接

Pass-04

老规矩,先打开源码看看,发现已经禁用了绝大部分的文件后缀,我们可以尝试上传一个.htaccess配置文件,将3.jpeg图片当作php代码进行解析,首先创建一个.htaccess文件,

去改phpstudy配置文件,其他选项菜单--打开配置文件---httpd.conf

箭头指向位置一开始none,改为all保存,重启phpstudy,就可以了

创建一个.htaccess文件,里面写上

<FilesMatch "3.jpeg">

SetHandler application/x-httpd-php

</FilesMatch>

上传到upload,发现上传成功

这串代码的意思是如果文件中有一个3.jpeg的文件,他就会被解析为.php,把这个文件上传上去

打开bp抓包,上传3.jpeg

打开firefox浏览器,先打开我们jpeg文件所在的路径,F12进入开发者模式,打开hackbar,先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-05

观察源码,可以发现这次也是禁用了很多后缀,包括.htaccess,但是我们可以发现,小写没有被禁用

然后再上传一个内容为一句话木马的命名为3.Php的文件

先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-06

这一关的思路是它没有循环验证,也就是说没有首尾去空,所以我们的绕过思路就很简单,在数据包中把后缀名改为.php

这时就可以上传成功,也可以解析成功

直接用bp抓包,修改文件后缀为.php. .

先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-07

这关我们看看源码,发现没有检测删除文件名末尾的点

此时我们通过bp抓包,可以在.php后面加上一个. 便可以上传成功

先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-08

观察第八关的源码,我们可以发现没有了去除字符串::$DATA

于是,我们可以继续上传一个php文件,但在其之后加上::$DATA来绕过

先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-09

这一关的思路是它没有循环验证,也就是说这些收尾去空,删除末尾的点,去除字符串::$DATA,转换为小写这些东西只是验证了一次。所以我们的绕过思路就很简单,在数据包中把后缀名改为.php. .

说一下他的验证过程,首先他发现有一个点,这时会把他去掉,又发现有一个空格,也会把它去掉,我们这时还有一个点,也就是.php. 由于他只是验证一次,所以不会在去掉我们的点,这时就可以上传成功,也可以解析成功。如下图:

先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

Pass-10

这关的意思是如果你上传了上面规定的文件,他就会把你的后缀名去掉

但是他是一次过滤,也就是说我们写两个php就可以了

先load url加载所在文件路径地址,再execute执行输入的密码=phpinfo(); 从而查看当前php版本信息

编写人:Kevin
2023.8.18