X-Forwarded-For注入漏洞实战

题目:X-Forwarded-For注入漏洞实战
在这里插入图片描述

知识点:
是HTTP请求头中XFF的伪造和应用,是一道借用XFF来爆破数据库、表、列以及列值的题目。先输入账户为admin,密码为123456进行登录尝试,出现了弹窗,仔细观察弹窗会发现类似IP地址格式的112.111.12.126数据存在,猜测这是服务端记录并显示了客户端的IP地址。
在这里插入图片描述

首先了解服务端如何获取客户端请求IP地址?
服务端获取客户端请求IP地址,常见的包括:x-forwarded-for、client-ip等请求头,以及remote_addr参数。

remote_addr:指的是当前直接请求的客户端IP地址,它存在于tcp请求体中,是http协议传输的时候自动添加,不受请求头header的控制。因此,当客户端与服务器之间不存在任何代理的时候,通过remote_addr获取客户端IP地址是最准确,也是最安全。remote_addr无法伪造

x-forwarded-for,即XFF,是很多代理服务器在请求转发时添加上去的。如果客户端和服务器之间存在代理服务器,那么通过remote_addr获取的IP就是代理服务器的地址,并不是客户端真实的IP地址。因此,需要代理服务器(通常是反向代理服务器)将真实客户端的IP地址转发给服务器,转发时客户端的真实IP地址通常就存在于XFF请求头中。

client-ip同XFF,也是代理服务器添加的用于转发客户端请求的真实IP地址,同样保存与请求头中。

服务端如何获取客户端请求IP地址?参考链接

使用Burp Suite抓包
在这里插入图片描述
查看Response,可以看出服务端的可能记录并显示了客户端IP地址。根据已知服务端获取客户端的方法知识以及题目(X-Forwarded-For注入漏洞实战)的提示,通过在请求头header中增添XFF选项及内容,检测服务端是否可以通过XFF获取客户端IP地址并判断XFF是否可以作为注入点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
服务端可以通过客户端设置XFF获取IP地址,并将其回显到alert中,因此XFF存在注入点。然后使用kali上的SQLmap对服务端的数据库、表、列以及列值进行爆破。记得将Request保存到test.txt文本文件中

  1. SQLmap结合test.txt文件对数据库进行爆破,发现名为webcalendar的数据库
    在这里插入图片描述
    在这里插入图片描述
  2. 根据上面获取的数据库信息,获取数据库webcalendar的表信息
    在这里插入图片描述
    在这里插入图片描述
  3. 根据获取的数据表内容,有两个表,先对user表的列进行爆破,发现了username和password列,这可能就是我们需要获取的内容
    在这里插入图片描述
    在这里插入图片描述
  4. 根据获取到列的值,对里面的字段进行爆破
    在这里插入图片描述
    在这里插入图片描述

总结:
根据HTTP请求头X-Forwarded-for伪造以及应用,然后使用SQLmap获取到了用户名以及密码(admin,1038411473),最后登录成功
在这里插入图片描述

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值