目录
XFF介绍
靶场练习
最近在复习XFF注入,这里使用墨者靶场来简单的练习一下该漏洞的利用方法
XFF介绍
X-Forwarded-For:简称XFF头,代表了HTTP的请求端真实的IP。
它被认为是客户端通过HTTP代理或者负载均衡器连接到web服务端获取源ip地址的一个标准(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库或某文件[通过修改XXF头可以实现伪造IP])。
XFF注入是利用HTTP请求中的XFF头信息来修改或者篡改应用程序的数据。攻击者通过构造恶意的XFF头信息来欺骗服务器,使服务器误认为请求是来自可信的源,以达到注入攻击的目的。
属于SQL注入的一种,注入原理是通过修改X-Forwarded-for头对带入系统的dns进行sql注入,达到欺骗服务器执行恶意的SQL命令的效果,从而可以得到网站的数据库内容。
靶场练习
打开对应的靶场进行访问
访问靶场可以看到是如下页面,是一个登录窗口:
对登录页面进行抓包查看:
可以看到这里并不是提示我们账号或密码错误而是记录了我们的ip地址,因此我们可以使用X-Forwarded-For: 127.0.0.1来伪造我们的ip地址,如果服务器中存在白名单就有可能成功的绕过限制进行登录
但是这里发现127.0.0.1还是被记录了,这里就可以尝试在XFF处进行注入
对X-Forwarded-For: 字段尝试闭合后发现报错了,说明存在注入点,直接使用sqlmap跑:
可以看到成功的跑出了payload,后面分别跑出数据库名称,表名,字段名,数值就可以获得key
很简单的练习了一下XFF注入,结束