01.啥子是文件上传漏洞
文件上传漏洞实在是难以简单进行表述,这里请了ai小姐姐帮忙~~
文件上传漏洞是一种高危漏洞,它发生在应用程序允许用户上传文件到服务器时,但没有对这些文件进行适当的验证或限制。攻击者可以利用这种漏洞上传恶意文件,比如脚本文件(如PHP、JSP等),一旦上传成功并且能够被执行,攻击者就可能获取服务器的控制权或者泄露敏感信息。
一般来讲,文件上传是为了,直接获得对方权限之类的,所以开发者也会很关注这个问题,会给出很多的屏蔽方式。
有时也不是完全为了,也可能是进一步渗透的前置条件,比如夹杂js代码的pdf文件用来获取,或者传入极其庞大的文件造成服务器过载,或者传入指定的文件造成文件覆盖。。。
【所以不必在意是否可以传入木马,有时候传入点奇怪的东西会有意外收获】
02.常见限制策略
文件后缀名,MIME,文件内容(文件头,文件关键词php,jsp等)
一些简单的绕过:
01.js前端检测:
这个就很简单了,禁用js就好了,或者直接给他改了…
var ext_name = file.substring(file.lastIndexOf("."));
//提取上传文件的类型
var allow_ext = ".jpg|.png|.gif";
//定义允许上传的文件类型
02.后缀绕过:
开发者是知道哪些文件后缀会存在危险的,他们会限制很多后缀名,就好像一个上传头像的互动点,为什么要给你上传php文件的可能呢?
但很多时候,开发者使用的第三方插件或者模板会开放一些危险的后缀名,或者配置存在错误,会把其他后缀名的文件当作其他后缀的文件进行打开【txt被当作php执行等。。。】
下面是一些可能会被当作php执行的文件名:
php3 php5 phtml pht。。。
实际上这种很少见,更多的是自己构造后缀名进行绕过。
03.覆盖文件,改变文件的打开方式:
例:
<FilesMatch "abc">
SetHandler application/x-httpd-php
将名为abc的文件作为php文件运行
AddType application/x-httped-php .txt .jpg
将所有的txt jpg文件当作php运行
这个相当于覆盖了对方的配置文件,平时不要尝试…
【同时部分网站不依赖这个配置】
04.user.ini文件【这个相对会广泛一点】:
新建一个文件名为.user.ini的文件,并将内容写为:
=test.txt
将.user.ini上传至服务器
新建一个文件名为test.txt的文件,并将内容写为:
或者
上传之后一般会可以成功解析
05.结尾后缀绕过:
使用. 或者 “空格”
开发者设计的检测策略会识别整个传入的字符串,然后再进行识别过滤
使用一些奇怪的后缀进行结尾,概率会绕过这些识别策略,使得文件成功上传。
当然系统自己存在着文件命名的规范问题,在保存文件时会自己删除掉文件后缀最后的,不规范的空格和点,使得文件正常上传。
::$DATA 这也是自己存在的问题,当处理文件名的时候,假若文件名是::$DATA,系统会把后缀之后的数据当作文件流进行处理,从而绕过。
06.zip类文件自动解压:
有时候php发现可以解压的文件名的时候,会自动进行解压。
这种方式不仅方便文件名后缀绕过,文件内容也是压缩的,更难被识别出来。
07.文件头特点绕过:
这是标准的gif文件头,其他的文件头都有可能是存在随机性质的,gif的文件头却是明确的,稳定的,这使得它成了一个优秀的工具。
08.文件内容识别绕过:
一般来讲开发者会识别例如:
php eval exec 之类的敏感文件内容
有时候需要使用有趣的加密或者分割进行绕过。
比如下面这个也是一个可以运行的php代码…
eval($_POST[123]);
编程很神奇吧~~
这里也可以把之前xss的绕过方式拿过来
换行,大小写,另类的文字,假注释之类的。。。
—————————————————–
好了,今天就到这里,辛苦大佬观看。
麻烦各位大佬指点,week给大佬趴下了。
加入IP合伙人(站长加盟) | 全面包装你的品牌,搭建一个全自动交付的网赚资源独立站 | 晴天实测8个月运营已稳定月入3W+
限时特惠:本站每日持续更新海量内部创业教程,一年会员只需98元,全站资源免费无限制下载点击查看会员权益
站长微信: qtw123cn
