upload-labs详解1-19关通关全解(最全最详细一看就会)-CSDN博客
Upload-labs 1-21关 靶场通关笔记(含代码审计)_upload-labs 21关-CSDN博客
搭建upload-labs环境
参考文章
渗透测试——upload-labs环境部署_upload-loads phpstudy-CSDN博客
Pass-01
考点:JS前端验证
直接尝试上传一句话木马php
<?php phpinfo();?>
发现php文件被禁止,无法上传
查看源码可知,此题仅可以上传jpg,png,gif的图片类型
并且查看提示
方法一
禁用js。以火狐浏览器为例,按F12,在"调试器"面板最右边点击设置按钮,禁用js。
再次上传php文件,上传成功后,复制图像链接
即可成功访问
方法二
使用bp。上传一句话木马png文件
发送到重放器后,将png后缀修改为php
成功访问文件路径
Pass-02
考点:MIME验证
查看提示
查看源代码,可以看到允许上传的类型有三种:image/jpeg、image/png、image/gif
上传一个php文件,使用bp进行抓包
抓包后修改文件类型,Content-Type就是文件类型,将文件类型后的内容改为image/jpeg、image/png、image/gif,其中一种就可以成功上传文件
访问文件路径
Pass-03
考点:php3、phtml绕过黑名单
查看提示
查看源代码。发现是黑名单验证,禁止上传.asp|.aspx|.php|.jsp这四种后缀的文件
黑名单可以用php2 php3 php5 php7 phtml 等绕过
上传.php5文件
访问文件路径
发现无法显示正常页面,百度搜索后得知解决方法
因为phpstudy的配置文件需要修改,打开phpstudy的httpd-conf配置文件
在此处,因为个人操作不当或是其他原因,上网查阅各种资料,并且进行修改后,仍然无法成功。
在询问师兄之后,得知是php3,php5文件无法解析。
在师兄建议下更换了另外一个版本的phpstudy
31. phpstudy无法解析php2、php3、phtml等文件_小皮不解析php3文件后缀-CSDN博客
按照这位博主的方法进行修改。
成功上传
Pass-04
考点:.htaccess绕过黑名单
查看源码与提示
多种后缀的都无法上传,需要使用.htaccess文件上传了。
首先创建一个.htaccess文件(文件名就为.htaccess)内容如下
AddType application/x-httpd-php .png
代码为,如果文件里面有一个后缀为.png的文件,他就会被解析成.php。
先上传一个.png文件,然后上传这个.htaccess,再访问.png,就能成功访问
原理为:利用上传到服务器上的.htaccess文件修改当前目录下的解析规则
.htaccess常见配法有以下几种:
AddHandler php5-script .jpg
AddType application/x-httpd-php .jpg
SetHandler application/x-httpd-php
Sethandler 将该目录及子目录的所有文件均映射为php文件类型。
Addhandler 使用 php5-script 处理器来解析所匹配到的文件。
AddType 将特定扩展名文件映射为php文件类型。
.htaccess文件内容如下
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
Pass-05
考点:.user.ini黑名单
查看源码与提示
查找并尝试多种资料方法后,仍然无法解答,直接专项搜索
upload -labs-05_uploadlabs第五关-CSDN博客
上传php文件,通过bp抓包后,修改后缀。注意事项如这位博主所说
在数据包中把后缀名改为.php. .,首先他发现有一个点,这时会把他去掉,又发现有一个空格,也会把它去掉,我们这时还有一个点,也就是.php. 由于他只是验证一次,所以不会在去掉我们的点。
之后成功访问文件路径