首页
社区
课程
招聘
[原创]伪造客户端IP{错误!你的IP不在允许列表之内}
发表于: 2020-1-20 22:38 11483

[原创]伪造客户端IP{错误!你的IP不在允许列表之内}

2020-1-20 22:38
11483

$_SERVER是一个全局变量,与$_GET、$_POST一样,可用于获取客户端的信息。

三种获取客户端IP的方法:

$_SERVER[“REMOTE_ADDR”],获取的是客户端与服务器三次握手建立TCP连接时的IP,这个无法伪造。

$_SERVER[“HTTP_CLIENT_IP”],获取的是HTTP请求头“CLIENT-IP”字段的信息。

$_SERVER[“HTTP_X_FORWARDED_FOR],获取HTTP请求头”X-FORWARDED-FOR“字段的信息。

$_SERVER[“HTTP_CLIENT_IP”]和$_SERVER[“HTTP_X_FORWARDED_FOR],所获取的信息,都是可以伪造的。


http://ctf5.shiyanbar.com/phpaudit/

<?php
	$ip1 = $_SERVER["REMOTE_ADDR"];
	$ip2 = $_SERVER["HTTP_CLIENT_IP"];
	$ip3 = $_SERVER["HTTP_X_FORWARDED_FOR"];
	
	echo "<h1>ip1:".$ip1."</h1>";
	echo "<h1>ip2:".$ip2."</h1>";
	echo "<h1>ip3:".$ip3."</h1>";
?>

<?php
	$ip1 = $_SERVER["REMOTE_ADDR"];
	$ip2 = $_SERVER["HTTP_CLIENT_IP"];
	$ip3 = $_SERVER["HTTP_X_FORWARDED_FOR"];
	
	echo "<h1>ip1:".$ip1."</h1>";
	echo "<h1>ip2:".$ip2."</h1>";
	echo "<h1>ip3:".$ip3."</h1>";
?>

浏览器 和抓包 显示


$ip2 = $_SERVER["HTTP_CLIENT_IP"];
$ip3 = $_SERVER["HTTP_X_FORWARDED_FOR"];
$ip2 = $_SERVER["HTTP_CLIENT_IP"];
$ip3 = $_SERVER["HTTP_X_FORWARDED_FOR"];
没有消息,证明默认请求头里是没有这两个字段的。

我们可以自己添加字段。





[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 9
支持
分享
最新回复 (3)
雪    币: 4390
活跃值: (4378)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错 感谢分享 收藏
2020-1-21 12:05
0
雪    币: 6
活跃值: (1146)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
good job
2020-1-26 20:41
0
雪    币: 54
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享感谢分享
2020-1-30 17:35
1
游客
登录 | 注册 方可回帖
返回
//