hvv 文件上传和文件包含考点

天眼如何判断文件上传漏洞是否成功

  • 数据包分析
    • 观察客户端请求数据:是否包含webshell流量特征
    • 观察服务器返回信息:是否有“上传成功”或“success upload”等信息提示
  • 尝试寻找上传的文件:访问上传的文件看是否存在;查看文件上传的目录,去目录下查找文件是否存在;
  • 通过分析平台日志查看:如果存在文件上传企图告警,且根据数据包到分析平台查看是否有脚本文件的访问记录,如果有成功访问脚本文件记录,则文件上传成功。天眼->分析中心->日志检索,检索语法:uri:(‘webshell文件名’)。如果上传脚本文件被重命名,就筛选出攻击IP对服务器的web协议的访问流量进行分析
  • 漏扫测试:用工具测试cms是否存在已知的文件上传漏洞

文件上传的特征、绕过方式

可能需要说的是文件上传的检测手段(根据哪些特征检测)以及对应的绕过方法
[图片]

  • 扩展名检测
    • 客户端检测。但客户端检测可以用burp抓包后修改文件后缀绕过或者修改禁用js代码绕过;
    • 服务端检测
      • 黑名单
        1. 看看有无漏网之鱼。比如 iis6.0 中的 asa 和 cer,能被web容器解析的文件其他扩展名列表:
          jsp, jspx ,jspf
          asp asa cer cdx,htr,xml,html
          aspx,ashx,asmx,asax,ascx
        2. 大小写绕过。可能存在大小写绕过漏洞 - 比如 aSp(iis6.0 中可以)和 pHp(只能在 小于 php5.3.39 中的 linux 中)之中
        3. 特殊后缀名绕过。php改成php1,php2,php3,php4,php5,需要在http.conf中有AddType application/x-httpd-php .php1且php 的版本小于等于 5.3.29 以下
        4. 双写绕过。比如过滤并且将php替换为空,则可以将上传木马后缀改为pphphp
        5. 上传htaccess。前提是mod_rewrite模块开启并且AllowOverride All
      • 白名单
        • IIS中的目录解析漏洞和分号解析漏洞 :将一句话木马的文件名 backlion.php,改成 backlion.php.abc(奇怪的不被解析的后缀名都 行)。首先, 服务器验证文件扩展名的时候,验证的是.abc,只要该扩展名符合服务器端黑白名单规则,即可上传。
        • nginx %00截断 xxx.jpg%00.php 这样的文件名会被解析为php代码运行。
        • apache 的解析漏洞,上传如 a.php.rar a.php.gif 类型的文件名,可以避免 对于php文件的过滤机制,但是由于 apache 在解析文件名的时候是从右向左读,如果遇到不能识别的扩展名则跳过,rar 等扩展名是 apache 不能识别的, 因此就会直接将类型识别为 php,从而达到了注入php代码的目的。
  • MIME检测
    http 请求 Header 头部中的 Content-Type 存在以下特征:
    Content-Type: multipart/form-data; boundary=xxxx
    绕过的方法就是通过修改Content-Type的值,比如修改为image/jpeg;image/png;image/gif等等允许上传类型对应的MIME值
    有些主机 WAF 软件为了不影响web服务器的性能,会对校验的用户数据设置 大小上限,比如 1M。此种情况可以构造一个大文件,前面 1M 的内容为垃圾内 容,后面才是真正的木马内容,便可以绕过 WAF 对文件内容的校验;’ Content-Type 类型数据后添加垃圾数据
  • 文件内容检测
    • 可能会检测文件内容中是否包含指定文件类型的特征,比如GIF89a,直接加上就行
    • 有的 WAF 在解析的时候,认为 Content-Disposition 值一定是 form-data,造成绕过,删除 Content-Disposition 值的 form-data 绕过
    • 早期版本安全狗,可以多加一个 filename 在一个 Content-Disposition 中,存在多个 filename ,协议解析应该使用最 后的filename 值作为文件名

文件包含的危害

文件包含漏洞的产生原因是通过php的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露(file://)甚至恶意的代码注入(php://input)
(1)读取web配置文件以及敏感的数据
(2)web服务器的文件被用户浏览导致信息泄露
(3)与文件上传漏洞结合getshell,将恶意代码执行解析
(4)脚本被任意执行,导致网站被篡改
[图片]

通过天眼的告警详情中的url和响应体可以判断文件包含漏洞,比如url中是否存在目录遍历…/以及响应体中是否泄露了敏感的文件,查看天眼->分析中心->日志检索,uri:(‘…/’)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值