1.概述
在进行上传文件的时候,如果服务器端后端语言未对上传的文件进行严格的验证和过滤,就容易造成上传任意文件的情况。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而攻击者绕过上传机制上传恶意代码文件并执行从而控制服务器。攻击者通过上传恶意文件传递给解释器去执行,然后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理、命令执行等恶意操作。从而控制整个网站,甚至是服务器。
在cmd里利用ipconfig找到ipv4的地址,接着在浏览器中打开get.php和post.php,两者区别在于一句话木马中是否拥有@,我们一般在进行文件上传漏洞的时候使用post.php,因为其隐蔽性较高,不是明文表示
在使用hackbar时,打开post data后再输入命令
中国蚁剑使用时,连接密码要使用post.php中cmd的参数,解码器使用base64
超文本标记语言.html文件:text/html
普通文本.txt文件:text/plain
PDF文档.pdf:application/pdf
PNG图像.png:image/png
GIF图像.gif:image/gif
MPEG文件.mpg .mpeg:video/mpeg
Jpg 图像.jpg: image/jpeg
绕过方式可以使用bp进行抓包,在content-type中改变参数,倘若前端代码可见,那么便利用网页源代码来更改所需参数,若是后端不可见,则利用所学逐一尝试进行绕过。
下面对常见的一些文件上传漏洞作以列举
2.例题1
那么在此处我们只需勾选禁用Javascript即可成功上传文件,那么如何判断是否成功上传呢,复制图像链接后新建一个页面并打开。