本文主要介绍Web网络安全分析中XFF注入攻击原理的详细说明。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
目录
XFF注入XFF注入代码分析
XFF注入
XF注入攻击的测试地址:http://127.0.0.1/sqli/xff.php。
X-Forwarded-for简称XFF头,代表客户端的真实IP。通过修改X-Forwarded-for的值,可以伪造客户端IP。通过Burp Suite住宅数据包内容设置X-Forwarded-for到11.22.33.44,然后访问并更改URL,页面恢复正常,如图62所示。
图62 XFF头
将X-Forwarded-for设置为11.22.33.44 ',再次访问网址,页面返回MySQL的错误信息。结果如图63所示。
图63访问X-Forwarded-for:11.22.33.44的结果
分别设置X-Forwarded-for为11.22.33.44 '和1=1#和11.22.33.44 '和1=2#,再次访问URL。结果如图64和图65所示。
图64访问X-forwarded-for: 11.22.33.44 '和1=1 #的结果。
图65访问X-forwarded-for: 11.22.33.44 '和1=2 #的结果。
根据页面返回的结果,可以判断地址变更存在SQL注入漏洞,然后可以通过order by判断表中字段的个数。最后,测试数据库中有4个字段。尝试联合注入法,语法为X-forwarded-for:-11 . 22 . 33 . 44 ' Union Select 1,2,3,4 #,如图66所示。
图66使用联合注入
然后,使用联合注入方法完成注入。
XFF注入代码分析
PHP中的getenv()函数用于获取环境变量的值,类似于$_SERVER或$_ENV,返回环境变量对应的值,如果环境变量不存在,则返回FALSE。
以下代码可用于获取客户端的IP地址。程序首先判断HTTP头参数HTTP_CLIENT_IP是否存在,如果存在,则支付$ip。如果没有,它将确定HTTP头参数HTTP _ x _ forwarded _ for是否存在。如果是,它将被分配给$ip。如果没有,它将把HTTP头参数REMOTE_ADDR赋给$ip。
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
$con=mysqli_connect('localhost ',' root ',' root ',' test ');
if (mysqli_connect_errno())
{
“Echo”连接失败:“”。mysqli _ connect _ error();
}
if(getenv('HTTP_CLIENT_IP '))
{
$ IP=getenv(' HTTP _ CLIENT _ IP ');
}
else if(getenv(' HTTP _ X _ FORWARDED _ FOR '))
{
$ IP=getenv(' HTTP _ X _ FORWARDED _ FOR ');
}
elseif(getenv('远程_ADDR '))
{
$ IP=getenv(' REMOTE _ ADDR ');
}
其他
{
$ IP=$ HTTP _ SERVER _ VARS[' REMOTE _ ADDR '];
}
$result=mysqli_query($con,' select * from users where ` IP `=' $ IP ' ');
如果(!$result)
{
printf('Error: %s\n ',mysqli _ Error($ con));
exit();
}
$ row=mysqli _ fetch _ array($ result);
echo $row['username']。' : ' .$ row[' password '];
echo ' br
?
接下来,将$ip拼接到select语句中,然后将查询结果输出到接口。
由于HTTP头参数可以伪造,所以可以添加一个头参数CLIENT_IP或X_FORWARDED_FOR。当设置了x _ forwarded _ for=1' union select 1,2,3 #时,执行的SQL语句为:
select * from user where ' IP `=' 1 ' union select 1,2,3# '
此时,SQL语句可以分为两部分:select * from user where ' IP `=' 1 '和Union select 1,2,3 2和3。第二个语句(union query)可用于获取数据库中的数据。
以上是Web网络安全分析中XFF注入攻击原理的详细内容。更多关于Web网络安全中XFF注入攻击的信息,请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。