TP

您所在的位置:网站首页 tl-wdr7620千兆易展版 TP

TP

2024-05-08 12:18| 来源: 网络整理| 查看: 265

出租房内的WIFI很卡,所以我想到路由器里面看一下什么情况,但是我没有路由器管理员密码,我就只能尝试破解一下。

登陆

先进入路由器管理登陆页面,在浏览器输入192.168.1.1

登陆页面很简单,一个密码输入框,一个点击按钮,至于忘记密码功能对于我们来说没用。

在输入框输入密码1,点击确定进行登陆

当然,密码是错误的。

点击F12,切换至网络

需要刷新网页才会显示网络传输文件

再次输入密码,并点击确定,然后观察网络标签状态,会发现多了一行数据

网页使用post向路由器发送了一次数据,我们查看一下数据

可以发现网页使用POST向路由器发送了JSON数据,数据中包含密码,我们输入的是1,可是JSON数据却为0yWcQbhc9TefbwK,那么密码肯定被加密过。

那么我们首先要搞懂这个加密方式。

查看post相应数据

post响应数据表示此次登陆的状态,我们可以通过响应数据判断登陆是否成功。

同时也说明路由器在接受到POST的密码后会进行匹配并返回结果。

加密

首先,我们查看网页源码

可以看到源码代码数量不对,我们直接鼠标右键把网页保存下来。

找到密码输入位置

密码输入框是input控件,id为lgPwd,我们在源码的其他部分搜索,

可以在源码附近看到security encode关键字,找到这个函数的实现,就在调用上方。

12345678910111213141516securityEncode: function(a, b, c) { var e = "", f, g, h, k, l = 187, n = 187; g = a.length; h = b.length; k = c.length; f = g > h ? g : h; for (var p = 0; p < f; p++) n = l = 187, p >= g ? n = b.charCodeAt(p) : p >= h ? l = a.charCodeAt(p) : (l = a.charCodeAt(p), n = b.charCodeAt(p)), e += c.charAt((l ^ n) % k); return e},

代码是用js写的,js不是我的专业,我把它转换为Qt/C++

123456789101112131415161718192021222324252627282930313233343536373839404142434445#include #include

QString encode(QString a,QString b,QString c){ QString r; QChar n,l; int g = a.size(); int h= b.size(); int k = c.size(); int f = g > h ? g : h; qDebug()



【本文地址】


今日新闻


推荐新闻


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