某校迎新网迟迟不开,具体表现为填写正确的信息也显示不存在,所以气愤的我写下这个 shell 脚本来监控并且在能成功登陆时发送推送消息。
抓包
网页是 http 的,抓包无比简单,任意打开一款抓包软件,简单分析就会发现。
我们只需要对http://hello.jxufe.cn/wx/student/login.do
发送 Post 请求
带参数userName=录取证书号&passWord=身份证后八位
就可以了。
构建请求测试
在 Paw 上简单测试,发现这迎新网没有最基本的反爬虫设置,Useragent 不改就能获得正确信息。直接开始写脚本吧。
构建 shell 脚本
完全的脚本在最下面,简单分析一下。
首先是使用 curl 模拟 post 请求。grep 提取是否”错误“这个字符,再使用 wc 来输出行数便于后面判断。
curl -d'userName=录取证书号&passWord=身份证后八位' -X POST http://hello.jxufe.cn/wx/student/login.do | grep "错误" | wc -l
在使用 if 函数判断“错误”这文字是否存在。
# 自行替换中文部分,你的推送链接可以从 Server 酱等平台获取。
# 2021.8.21 成功推送了消息,但是登陆后,填完信息无法提交,哈哈。
check(){
RESULT=$(curl -d'userName=录取证书号&passWord=身份证后八位' -X POST http://hello.jxufe.cn/wx/student/login.do | grep "错误" | wc -l)
echo $RESULT
if [ $RESULT -eq "0" ]
then curl https://你的推送链接?msg=%E8%B4%A2%E5%A4%A7%E8%BF%8E%E6%96%B0%E7%BD%91%E7%9C%9F%E7%9A%84%E5%BC%80%E4%BA%86%EF%BC%81http%3A%2F%2Fhello.jxufe.cn%2Fwx%2Fstudent%2FtoBind.html
fi
}
check