文件上传漏洞

文件上传漏洞:
是指网络攻击者上传了一个可执行的文件到服务器并执行。
这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。
这种攻击方式是最为直接和有效的,部分文件上传漏洞的利用技术门槛非常的低,对于攻击者来说很容易实施。

文件上传漏洞原理:
大部分的网站和应用系统都有上传功能,如用户头像上传,图片上传,文档上传等。
一些文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过Web访问的目录上传任意PHP文件,并能够将这些文件传递给PHP解释器,就可以在远程服务器上执行任意PHP脚本。

文件上传漏洞危害:
上传漏洞与SQL注入或 XSS相比 , 其风险更大 , 如果 Web应用程序存在上传漏洞 , 攻击者可以直接上传一个webshell到服务器上 .

文件上传漏洞修复建议:
1、上传的文件仅限图片格式。
2、对上传文件的大小和类型进行前后端校验,定义上传文件类型白名单。
3、保存上传文件的目录不提供直接访问。

文件上传主要有5种:
1、绕过前台脚本检测扩展名上传WebShell
2、绕过Content-Type检测文件类型上传WebShell
3、利用00截断上传WebShell
4、绕过服务器端扩展名检测上传
5、利用.htaccess文件攻击上传Shell

实例:

1. 绕过前台脚本检测扩展名上传WebShell
文件上传漏洞_第1张图片
说明只能上传图片格式的文件
需把刚才的php文件更改类型为图片格式的
(PS:超清大图可能不成功)
开启BP,设置代理,准备抓包,改包
点击上传的同时,进行抓包
文件上传漏洞_第2张图片文件上传漏洞_第3张图片
尝试利用菜刀进行连接
连接成功即可控制本机
菜刀连接方法见本文末

2. 绕过Content-Type检测文件类型上传WebShell
文件上传漏洞_第4张图片文件上传漏洞_第5张图片
图片类型:image/jpeg
文件上传漏洞_第6张图片
上传成功,尝试进行菜刀连接
连接成功即可控制本机。
菜刀连接方法见本文末

3、利用00截断上传WebShell
文件命名:需要上传的文件名+图片格式的后缀
让前端认为是正常的图片格式文件
然后利用BP,进行00截断,过滤掉图片文件名,只读取到我们要的.php的文件
文件上传漏洞_第7张图片文件上传漏洞_第8张图片
1、打开Hex
2、找到文件名对应的行,及需要00截断数值对应的列
3、更改数值为00
4、放包 - - 上传成功
文件上传漏洞_第9张图片在这里插入图片描述文件上传漏洞_第10张图片

利用菜刀连接:

文件上传漏洞_第11张图片文件上传漏洞_第12张图片文件上传漏洞_第13张图片

4、绕过服务器端扩展名检测上传
文件上传漏洞_第14张图片文件上传漏洞_第15张图片

5、利用.htaccess文件攻击上传Shell

首先上传一个.htaccess的文件
文件内容为: AddType application/x-httpd-php .jpg
所有.jpg 的文件,按照php 来解析
.htaccess 属于系统配置文件
.htaccess 解析同一目录下的图片
文件上传漏洞_第16张图片

写码的文件,转为图片格式
文件上传漏洞_第17张图片

尝试菜刀连接
文件上传漏洞_第18张图片文件上传漏洞_第19张图片

连接成功。

你可能感兴趣的:(笔记,安全)