靶场地址:https://www.mozhe.cn/bug/detail/QWxmdFFhVURDay90L0wxdmJXSkl5Zz09bW96aGUmozhe
①首先需要知道什么是X-Forwarded-For(简称XFF)
X-Forwarded-For是一个http扩展头部,用于表示http端请求真实ip。
X-Forwarded-For: client, proxy1, proxy2
client表示客户端真实ip,proxy表示服务端到客户端多级代理
通过XFF服务端可以知道客户端的真实ip
②启动靶场,一个登录界面,随便试一个账密,抓包看看

关注到这个响应包返回了当前真实IP
③响应包中没有X-Forwarded-For字段,数据包重放加上XFF:127.0.0.1试试

返回数据变为了127.0.0.1,猜测与数据库存在交互
③将XFF改为127.0.0.1'重放

mysql报错,并且多了一个failed'),猜测应该不能直接用注释来闭合,可以用and '1'='1来闭合单引号
④使用联合注入,报错
尝试多种后发现可以使用报错注入,updatexml()、extractvalue()都可以
最终结果


本文介绍了X-Forwarded-For头部在HTTP请求中的作用,通过靶场实操展示了如何利用缺失的XFF字段进行数据包重放攻击,揭示了服务端与客户端IP验证的潜在风险。当注入XFF为127.0.0.1时,触发了数据库错误,进一步利用报错注入,尝试了updatexml()和extractvalue()等方法,暴露了数据库交互的漏洞。
1287

被折叠的 条评论
为什么被折叠?



