用Shell脚本+Curl写了一个学校网关认证 亿邮 for linux 客户端

[bash]#!/bin/bash
echo via: ihipop@gmail.com http://ihipop.info
#2011/4/18 00:35

#自定义部分
loginuser=$3
password=$4

#设置变量
logintype='%C1%AC%CF%DF%B9%FA%BC%CA'

domainid=$2

refer='http%3A%2F%2F211.65.64.43%2Fphp%2Fonlinestatus.php%3Flogout_offnet%3D1'
serverip=211.65.64.43
x=27
y=10

function printidtable(){
echo 'domainID Table:'
echo -e '1-->jscz.edu.cn'
echo -e '3-->em.jpu.edu.cn'
echo -e '4-->jpu.edu.cn'
echo -e '5-->smail.jpu.edu.cn'
echo -e '6-->cczu.edu.cn'

}

function getname(){
[ "$loginuser" == '' ] && echo 'Please input Username:' && read loginuser
}

function getpass(){
[ "$password" == '' ] && echo 'Please input Password:' && read password
}

function getid(){
[ "$domainid" == '' ] && printidtable && echo 'Please input domainID:' && read domainid
}

function check(){
getid
getname
getpass
}

function dologin(){
echo ok
}

function dologin(){
var="logintype=$logintype&loginuser=$loginuser&domainid=$domainid&password=$password&refer=$refer&x=27&y=10"
curl -d "$var" http://$serverip/php/user_login.php -c /tmp/ieyou -s |grep error >/dev/null && echo Login error, Is the Username/Password Correct? && exit
echo Login Success
}

function online(){
curl "http://$serverip/php/login_net?mode=2&quick=yes&refer=http%3A%2F%2F211.65.64.43%2Fphp%2Fonlinestatus.php%3Flogout_offnet%3D1" -b /tmp/ieyou -s |grep error >/dev/null && echo Online Error,Are You Already Online? && exit
echo Online Success
}

function offline(){
curl "http://$serverip/php/logout_offnet?quick=yes" -b /tmp/ieyou -s |grep error >/dev/null && echo Offline Error !!!!! && exit
echo Offline Success
}

[ ! -x /usr/bin/curl ] && echo Must install curl First~ && exit 1

case "$1" in
off|offline)
echo will offline
check
dologin
offline
exit
;;
on|online)
echo will online
check
dologin
online
exit
;;
*)
echo ieyou Agent By ihipop@gmail.com
echo ' Useage: ieyou [on/off] domainID Username Password'
printidtable
exit ;;
esac
[/bash]


参考这篇文章在网关上对亿邮认证服务器进行劫持,这样在网关上就会受到来hostname为211.65.64.43|rz.cczu.edu.cn|rz.jpu.edu.cn的访问请求,同时也带来一个http reffer。在网关的web服务器上做如下处理。

写rewrite
nginx:

if ($host ~* (211.65.64.43|rz.(ccz|jp)u.edu.cn)){
rewrite ^(.*)$ /route/index.php?action=$1 break;
}

Apache:

RewriteEngine On
RewriteCond %{HTTP_HOST} (211.65.64.43|rz.(ccz|jp)u.edu.cn) [NC]
RewriteRule ^(.*)$ /eyou/$1 [L]

自动上线脚本

[php]<?php
$username = '×××××××';
$password = '××××××××';
$did = '5';

error_reporting(0);
echo "hello,internet! ;)</br>";
echo 'Welcome to eyou web identify system! by ihipop.';

$a = $_SERVER["HTTP_REFERER"];
if (!$a){
die();
}

echo '<pre>';
system("ieyou.bash on $did $username $password");
echo '</pre>';
echo 'taking you back to <a href="'.$a.'">'.$a.'</a> in 2 seconds.........';
$HTML=<<<EOF
<script language=javascript>
function r(){
setTimeout("g()", 2000);
}
function g(){
window.location.href="$a";
}
r();
</script>
EOF;
echo $HTML;
?>[/php]

Author Info :
  • From:用Shell脚本+Curl写了一个学校网关认证 亿邮 for linux 客户端
  • URL:https://blog.ihipop.info/2011/04/2249.html
  • Please Reserve This Link,Thanks!
  • 《用Shell脚本+Curl写了一个学校网关认证 亿邮 for linux 客户端》上有5条评论

    1. 请教问题:
      curl -d $var http://$serverip/php/user_login.php -c /xx
      你是怎么确定需要提交的内容的?
      是使用Firebug查看网页提交的信息吗?
      怎么筛选有效信息,是需要懂PHP吗?
      还有网页跳转来不及查看,你是怎么处理的,网上没找到好的解决办法...

      问题有点多,见谅,望抽空作答,感谢~

      1. firebug的网络面板的左侧应该第二个按钮还是第三个按钮 叫 “保持”
        把它按下去。就不会出现你说的“网页跳转来不及查看”的问题了。
        参数的话你点开网络面板的POST标签 里面就有 如果是GET参数 直接右击 选择复制带参数 的地址就行

      1. 某大虾说是用Firebug查看的提交信息,我试了下,能看到些有用信息,但不是太会用,你弄清楚了吗?

    发表评论

    您的电子邮箱地址不会被公开。 必填项已用*标注