校园网试炼:注销
程序员文章站
2023-03-25 08:59:02
明天就是小雪了,淮河以北已经开始降温,宿舍6个人的热气加上暖气,实在是不能再舒服,宿舍里头穿一件,出宿舍门穿两件,出宿舍楼穿羽绒服,出学校…哦不这学期学校都不会解封。回到正题,在校园网不收钱的时候就已经尝试过对校园网自动登入、占线、注销等功能。用python实现起来也简单,简单的脚本无非就是发包。对校园网的登入、注销功能所发的数据包进行对比发现注销功能好像挺简单的这是校园网注销的数据包密码没有加密,没有token,没有任何的防护机制,顶多也就是后台能查到进行的操作。于是脚本就来了:def D...
今天就是小雪了,淮河以北已经开始降温,宿舍6个人的热气加上暖气,实在是不能再舒服,宿舍里头穿一件,出宿舍门穿两件,出宿舍楼穿羽绒服,出学校…哦不这学期学校都不会解封。
回到正题,在校园网不收钱的时候就已经尝试过对校园网自动登入、占线、注销等功能。
用python实现起来也简单,简单的脚本无非就是发包。
对校园网的登入、注销功能所发的数据包进行对比发现注销功能好像挺简单的
注销原理
这是校园网注销的数据包
密码没有加密,没有token,没有任何的防护机制,顶多也就是后台能查到进行的操作。
于是脚本就来了:
技术实现
def Done():
url = 'logout_url'
data ={
'action':'logout',
'username':'account',
'password':'password',
'ajax':'1'
}
r = requests.post(url,data)
# if 'query_success' in response.text:
# print('success')
# else:
# print('error')
print(r)
print(r.text)
print(r.content)
timer = threading.Timer(30,Done)
timer.start()
if __name__ == "__main__":
timer = threading.Timer(30,Done)
timer.start()
emmm就是这么简单,看输出结果来判断,因为返回的Json数据没有转换,当然是看不懂的,但是账户在线注销和账户不在线注销是不一样的返回值,注销成功比失败的返回值会短一半。
于是就能作为最后的判断。
享受着温暖的空调,慵懒的周末写的是最简单粗暴的代码…
返回结果
这是两次失败的注销返回值,成功的返回值长度只有到竖线处。
本文地址:https://blog.csdn.net/qq_42812036/article/details/109931855