,,Web网络安全分析XFF注入攻击原理详解

,,Web网络安全分析XFF注入攻击原理详解

本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: