php采用curl实现伪造IP来源的方法


Posted in PHP onNovember 21, 2014

本文实例讲述了php采用curl实现伪造IP来源的方法。可以实现伪造IP来源, 伪造域名, 伪造用户信息,分享给大家供大家参考。具体实现方法如下:

定义伪造用户浏览器信息HTTP_USER_AGENT

$binfo =array('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)','Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)','Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1)',$_SERVER['HTTP_USER_AGENT']);

//123.125.68.*

//125.90.88.*

定义伪造IP来源段,这里我找的是百度的IP地址
$cip = '123.125.68.'.mt_rand(0,254);

$xip = '125.90.88.'.mt_rand(0,254);

$header = array( 

'CLIENT-IP:'.$cip, 

'X-FORWARDED-FOR:'.$xip, 

);

利用curl开始向服务器发送伪造信息
function getimgs( $url,$userinfo,$header)

{

 $ch = curl_init();

 $timeout = 5;

 curl_setopt ($ch, CURLOPT_URL, "$url");

 curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);

 curl_setopt ($ch, CURLOPT_REFERER, "http://www.baidu.com/"); 

 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

 curl_setopt ($ch, CURLOPT_USERAGENT, "$userinfo");

 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  

 $contents = curl_exec($ch);

 curl_close($ch);

 return $contents;

}

获取到数据我们再保存
function saveimgs( $handle )

{

 $fp = fopen('a.jpg',"w");

 fwrite($fp,$handle);

 unset($fp);

 unset($handle);

}

测试伪造IP实例
$url ='https://3water.com/images/logo.gif';

$u = $binfo[mt_rand(0,3)];

saveimgs(getimgs($url,$u,$header));

这样就在你当前目录保存成功了一个文件a.jpg文件,我现可以查看服务器日志是不是我们自定的用户信息呢

192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET /test.php HTTP/1.1" 200 1244 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)"
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET / HTTP/1.1" 200 40538 "http://www.baidu.com/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)"
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET /test.php HTTP/1.1" 200 1244 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)"
192.168.1.108 - - [22/Jul/2013:10:29:37 +0800] "GET / HTTP/1.1" 200 40538 "http://www.baidu.com/" "Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0"

看出来了吧,完全正确啊,只是IP地址我怎么没测试出来,这个使用php获取ip地址时就会显示我伪造IP地址了。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
php radio 单选框获取与保持值的实现代码
May 15 PHP
php _autoload自动加载类与机制分析
Feb 10 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
通过php添加xml文档内容的方法
Jan 23 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
Oct 08 PHP
php文件缓存类汇总
Nov 21 #PHP
php实现事件监听与触发的方法
Nov 21 #PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 #PHP
IIS下PHP的三种配置方式对比
Nov 20 #PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 #PHP
php目录遍历函数opendir用法实例
Nov 20 #PHP
php中base_convert()进制数字转换函数实例
Nov 20 #PHP
You might like
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
JS中style属性
2006/10/11 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
js实现圆盘记速表
2015/08/03 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Js面试算法详解
2018/04/08 Javascript
python的id()函数介绍
2013/02/10 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
django rest framework使用django-filter用法
2020/07/15 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
自荐信结尾
2013/10/27 职场文书
高考备战决心书
2014/03/11 职场文书
超市商业计划书
2014/05/04 职场文书
中学教师师德承诺书
2014/05/23 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
实习计划书范文
2015/01/16 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
详细聊聊vue中组件的props属性
2021/11/02 Vue.js