0


upload-labs(Pass-01 ~ Pass-05)

1、Pass-01

1、本题考查的前端验证,我们右键查看源代码:

得知js的匹配规则,当我们提交文件之后:

回去调用js函数,进行js前端验证

2、我们可以先上传一个png文件,用bp抓包:

这样就可以绕过前端验证

3、我们修改文件后缀并添加木马内容

放包:

4、访问一下:

2、Pass-02

1、第二关只对文件的MIME进行了验证,即:

对数据包中的Content-Type进行验证;

查看代码:

仅仅验证了这个

2、所以我们上传一个图片,抓包,改为图片马即可:、

3、验证一下:

3、Pass-03

1、这一关,是通过特殊后缀绕过,有些网站某些后缀也能解析;

例如php网站:phtml,php3,php5,php7也可解析为php

2、我们找到phpstudy中httpd.conf配置文件:

搜索:AddType application/x-httpd-php

得到:

这里是将phtml也解析为php文件,我们删除前面的“#”字符,重启即可生效

3、上传:

4、访问一下:

若出现访问之后,直接下载了该文件,参考文章,或者切换一下php版本试试:phpstudy的apache服务器无法解析运行以.php5,.phtml等非.php后缀的文件的解决方法_php显示fcgidinitialenv无效-CSDN博客

5、查看代码:

4、Pass-04

1、上传文件抓包:

此处过滤了很严格,但是.htaccess文件没有过滤

.htaccess文件时Apache服务中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess文件,可以帮助我们实现:网页301重定向、自定义404错误页面,改变文件扩展名、允许/阻止特定的用户或者目录的访问,禁止目录列表,配置默认文档等功能

我们可以再 .htaccess文件中加上:

AddType application/x-httpd-php .png

可以将当前目录下的.png文件解析为php文件

注:

.htaccess文件生效需要http.conf配置文件中设置 AllowOverried All

2、上传.htaccess

上传图片马:

3、访问:

5、Pass-05

1、这里过滤的页很严格,但是没过滤.ini后缀;

user.ini:

是.user.ini就是用户自定义的一个php.ini,php.ini是全局配置文件

内容:

auto_prepend_file = <filename> //访问当前页面任意php文件,相当于包含在该文件头
auto_append_file = <filename> //访问当前页面任意php文件,相当于包含在该文件尾

条件:

1、php语言

2、CGI,即php是nts模式

3、Apache服务器

2、实践:

上传图片马:

访问upload目录下的php文件,即readme.php:

成功getshell

标签: 安全

本文转载自: https://blog.csdn.net/m0_64849639/article/details/141184993
版权归原作者 xxsxss 所有, 如有侵权,请联系我们删除。

“upload-labs(Pass-01 ~ Pass-05)”的评论:

还没有评论