curl命令登录校园网关

最近在看《Web安全测试》,接触到许多Linux环境下的东西,其中就有curl。之前在安装homebrew和阮一峰博文curl网扎开发指南等地方均有所接触,并有总结curl 指令小结。这次我们通过curl发送post请求以达到登录校园网的目的。

首先需要分析form,这是最重要的一个环节,通过分析可以找到需要提交的字段其键值对,缺一不可。

QQ20151102-0@2x.png

从图中可清楚地看到表单共有4个input,除了显而易见的账号密码外,还有是否保存密码登录按钮。值得注意的是登录按钮,它作为POST传输数据中必不可少的一部分,若缺少则登录失败。

我们将需要的三个字段的name值记录下来,就有了如下的curl指令

curl -d “DDDDD=userId” -d “upass=pwd” -d “0MKKey=” http://10.3.8.211

类似的语法也同样生效

curl –data “DDDDD=userId&upass=pwd&0MKKey=” http://10.3.8.211

其中,userIdpwd分别代表你的学号和密码。

至于登出…

你可以使用同样地登录指令,只需任意修改参数,使之不正确即可,修改userIdpwd或者省去0MKKey参数。即,我们的校园网关验证的逻辑是:验证通过,登陆成功;验证失败,下线,即使之前已成功登录。

当然,还有一个方法就是直接访问http://10.3.8.211/F.htm同样可以达到登出的目的,指令如下

curl http://10.3.8.211/F.htm

最后,至于说这个究竟有什么好处,我也不知道…毕竟敲打这么多字符挺累的。若能保存为脚本,那应该会好一点点…

回到刚才的问题,每次输入这么长的指令显然不是明智之举。我们只需要把该条指令保存为文件login,然后执行chmod 775 login使之有执行权限即可,这样以后就能通过./login来登录啦。

Table of Contents