2023/08/03:upload-lab记录
Pass 1
F12查看前端,可知仅为前端过滤,浏览器禁用脚本即可
Pass 2
MIME检测
抓包更改type字段即可
Pass 3
后缀名检测
更改文件后缀即可,如把php改为php5
Pass 4
黑名单绕过
.htaccess文件绕过
生成文件.htaccess写入SetHandler application/x-httpd-php
将该文件上传至服务器
修改一句话木马为图片后缀
Pass 5
黑名单绕过
过滤为删除文件名末尾的点,可以将后缀设置为.PHP
Pass 6
黑名单空格绕过1.php
Pass 7
黑名单点绕过
可该为1.php.
Pass 8
黑名单::$DATA
1.php.
或1.php::$DATA
Pass 9
黑名单绕过1.php::$DATA
Pass 10
双写绕过1.pphphp
Pass 11
白名单
查看源码,发现文件路径可控save_path=../upload/1.php%00
filename="1.png"
Pass 12
与上题类似,但这次改为POST传递save-path
Pass 13
该题需要生成图片马
源代码会检查文件头两个字节
可在cmd中执行copy shelltry.jpg /b + webshell.php /a test.jpg
并将其上传,后点击“文件包含漏洞”链接进入利用文件包含漏洞读取文件
Pass 14 & 15
在上一题的图片马加上文件头(如gif文件需在文件内加GIF89a
字段),也可直接上传php后拦截修改
Pass 16
二次渲染绕过
来源:https://blog.csdn.net/m0_72755466/article/details/128499580?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169131954216800182737096%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=169131954216800182737096&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-128499580-null-null.142^v92^chatsearchT0_1&utm_term=upload-labs%E9%80%9A%E5%85%B3&spm=1018.2226.3001.4187
GIF:
首先将GIF文件与php一句话木马合并,再将上传后的文件下载与合并后的文件对比(如010_Editor),在未被渲染的部分写一句话木马
PNG:
需要脚本构造图片
1 |
|
1.准备png图片
2.在cmd使用php命令执行该脚本生成新png图片
3.使用新图片上传
4.在文件包含漏洞处进行传参
Pass 17
这关存在逻辑漏洞
1 |
|
在对输入进行验证之前已经将文件移入上传文件夹,可以采用条件竞争
用burp拦截数据包发送到测试器模块,在另一个浏览器不断在上传文件的url刷新直到访问成功即可
Pass 18
审计代码,该代码会先进行文件类型匹配,通过后移动到upload同级目录,再对文件重命名;而在能通过白名单的后缀中,.7z
不会被浏览器解析,利用浏览器遇到不能解析的后缀向前解析的特性考虑构造1.php.7z
,使用Pass 17的方式尝试上传访问该文件
Pass 19
定义了黑名单但没有小写转换,仅对保存文件名黑名单处理
可以直接大写绕过1.PHP
Pass 20
首先会进行MIME检查,之后会对save_name最后一项进行检查
因此,抓包后设置save_name[0]
与save_name[2]
,前者将文件类型设置为php,后者设置为与MIME对应的文件类型