php模拟认证h3c校园网

php模拟认证h3c校园网

  之前买了一个cubieboard,苦于没有外网ip,后来在cs同过路由器绑定公网ip暂时解决问题,现在在3g也有网络接口,但是需要经过 h3c认证,我倒是有号,但是h3c认证需要打开浏览器,我一个cubieboard本来空间就不大,再装个图形界面和浏览器,那它作为服务器来玩的性价比就太低了,还不如买台二手主机呢,呵呵。

  因为之前也用过php的curl功能,再秋币学长的鼓动下,我决定模拟认证下,就不用装图形界面和浏览器了。

正式开工,非常幸运的是,我在网上找到了很有用的博文,给了我很多启示和方法。

       我一般的工作学习环境是debian ,真的是很方便,命令行比win的强多了。

  我开始时先不断的登录下线认证系统http://222.24.19.190:8080/portal/index_default.jsp,并通过chrome浏览器的f12开发者工具查找其传参,刚开始时我错误的以为只是一次传参,只向一个页面传参.于是我就不断的模拟结果页面.发现根本不起作用.而且,这个结果页面是get传参,我就很不理解,而且在其传参列表里竟然没有密码一项。

我开始的几个小时根本是做无用工,因为方向就是不对的。

      然后通过网上查,我找到了wireshark这个工具,并抓包分析,我发现一次登录h3c系统,要先后传参给5个页面。

一个pws,一个主页,一个afterlogin,一个心跳检测页,一个loginleave,所以我就分别看这几个网页的抓包数据。

发现其cookie都是一样的,但是只有pws这个页面是存在passwd这个传参的,也就是说,只有这个页面是验证密码的。

那我验证一下密码不就行了?

    通过这个思路,经过10个小时。。。。。。看起来简单,用起来真的是得一丝不苟,要模拟header信息,而网上很多curl的header都是错的,导致我根本弄不对。后来,经过自己测试后才得到正确的用法。我发现认证的密码是经过base64加密的,那就给了这个脚本通用型的可能。但是我比较懒,我先把我的cubieboard弄好,再管别人吧。呵呵

源码如下:


<?php
class test{
	public function login(){ 
		// $name="xianglijuan";
		// $pwd="910820";
		// $pwd=base64_encode($pwd);
		$url="http://222.24.19.190:8080/portal/pws?t=li";
		$fields="userName=xianglijuan&userPwd=OTEwODIw&serviceType=&userurl=&userip=222.24.52.191&basip=&language=Chinese&portalProxyIP=222.24.19.190&portalProxyPort=50200&dcPwdNeedEncrypt=1&assignIpType=0&appRootUrl=http%3A%2F%2F222.24.19.190%3A8080%2Fportal%2F&manualUrl=&manualUrlEncryptKey=rTCZGLy2wJkfobFEj0JF8A%3D%3D";
		$host = array(
					"Accept: application/json,text/javascript, */*; q=0.01",
					"Host: 222.24.19.190:8080",
					"Origin: http://222.24.19.190:8080",
					"X-Requested-With: XMLHttpRequest",
					"User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36",
					"Content-Type: application/x-www-form-urlencoded",
					"Referer: http://222.24.19.190:8080/portal/index_default.jsp",
					"Accept-Encoding: gzip,deflate,sdch",
					"Accept-Language: zh-CN,zh;q=0.8,en;q=0.6",
					"Cookie: hello1=xianglijuan;0hello2=false; hello3=; hello4=;0i_p_pl=%7B%22errorNumber%22%3A1%2C%22nextUrl%22%3A%22HTTP%3A%2F%2F222.24.19.190%3A8080%2Fportal%2Findex_default.jsp%22%2C%22quickAuth%22%3Afalse%2C%22clientLanguage%22%3A%22Chinese%22%2C%22defaultServiceType%22%3A%22%22%2C%22assignIpType%22%3A0%2C%22iNodePwdNeedEncrypt%22%3A1%2C%22findPwdUrl%22%3A%22http%3A%2F%2F222.24.19.190%3A8080%2Fselfservice%2Fmail%2FforgetPassword.jsf%3Finit%3Dtrue%26url%3DaHR0cDovLzIyMi4yNC4xOS4xOTA6ODA4MC9wb3J0YWwvP3VzZXJpcD0yMjIuMjQuNTIuMTkx%22%2C%22clientPrivateIp%22%3A%22222.24.52.191%22%2C%22nasIp%22%3A%22%22%2C%22ifTryUsePopupWindow%22%3Atrue%7D; JSESSIONID=74A36C8E6D2BCFCF6892628F00C68742");
		$ch=curl_init($url);
		curl_setopt($ch,CURLOPT_HEADER,1);
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
		curl_setopt($ch,CURLOPT_HTTPHEADER,$host);
		// curl_setopt($ch, CURLOPT_REFERER, "http://222.24.19.190:8080/portal/index_default.jsp");//来路
		// curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36");
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
		curl_exec($ch);
		curl_close($ch);

		// $url="http://222.24.19.190:8080/portal/page/online.jsp?st=2&pl=%7B%22errorNumber%22%3A1%2C%22heartBeatCyc%22%3A600000%2C%22heartBeatTimeoutMaxTime%22%3A3%2C%22userDevPort%22%3A%22Old_center1-vlan-07-0252%40vlan%22%2C%22userStatus%22%3A99%2C%22serialNo%22%3A-1312%2C%22ifNeedModifyPwd%22%3Afalse%2C%22browserUrl%22%3A%22%22%2C%22clientPrivateIp%22%3A%22222.24.52.191%22%2C%22nasIp%22%3A%22%22%2C%22clientLanguage%22%3A%22Chinese%22%2C%22ifTryUsePopupWindow%22%3Atrue%7D";
		// $ch=curl_init($url);
		// curl_setopt($ch,CURLOPT_HEADER,1);
		// curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
		// curl_setopt($ch, CURLOPT_REFERER, "http://222.24.19.190:8080/portal/index_default.jsp");//来路
		// curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36");
		// curl_setopt($ch,CURLOPT_HTTPHEADER,$host);

		// curl_exec($ch);
		// curl_close($ch);
	}
}
$ex=new test();
ignore_user_abort();
do{
	$ex->login();
	sleep(60*5);//5min
}while(true);
?>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值