该题可以进行手注或者使用sqlmap;

首先进行手注,抓包后添加X-Forwarded-for:*'测试发现并没有报错,而且这样保存下来在sqlmap中检测也检测不到SQL注入;

修改为* or 1=1会报错,但是后续测试也会出问题,只有不添加ip地址或者*才能正常进行sql注入;

通过or 1=1检测是否能进行sql注入;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

查询显示位,结果为4的时候显示正常;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

通过联合查询查询当前版本以及数据库名;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

查询表名;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

查询列名;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

爆出flag,在页面验证flag后得到key;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

sqlmap:

通过burpsuite抓包后可以右键保存为txt,添加XFF头并且添加order by 4,只有添加了order by 4才能成功爆出数据......

经过测试,在XFF头后添加*,空着,添加and 1=1都不行;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

通过-p x-forwarded-for指定测试参数;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

得到当前数据库;

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

之后修改参数爆出其他数据,最后得到flag

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

0x2A.HTTP头注入漏洞测试(X-Forwarded-for)

 

相关文章: