如何解决在WordPress中连接dede后台数据库时遇到登录问题?
摘要:带dede后台的整套网站源码 数据库连接不上,wordpress 退出登录,互联网创业项目代理,域名是什么意思一、数据接口分析 主页地址:某网站 1、抓包 通过抓包可以发现数据接口是page2、判断是否有加
带dede后台的整套网站源码 数据库连接不上,wordpress 退出登录,互联网创业项目代理,域名是什么意思一、数据接口分析
主页地址#xff1a;某网站
1、抓包
通过抓包可以发现数据接口是page
2、判断是否有加密参数
请求参数是否加密#xff1f; 通过查看“载荷”模块可以发现#xff0c;请求参数是一整个密文 请求头是否加密#xff1f; 无响应是否加密#xff1f; 通…一、数据接口分析
主页地址某网站
1、抓包
通过抓包可以发现数据接口是page
2、判断是否有加密参数
请求参数是否加密 通过查看“载荷”模块可以发现请求参数是一整个密文 请求头是否加密 无响应是否加密 通过查看“响应”模块可以发现响应数据是加密的 cookie是否加密 无
二、加密位置定位
1、看启动器
查看启动器发现里面包含异步所以无法正确找到加密位置
2、搜索关键字
因为加密参数是一整个密文所以无法搜索关键字
3、hook
因为“载荷”是一整个密文所以网站大概率会使用JSON.stringify将数据转换为json字符串再进行加密所以我们可以hookJSON.stringifyhook代码
var my_stringify JSON.stringify;
JSON.stringify function (params) {debuggerconsole.log(json_stringify params:,params);return my_stringify(params);
};运行hook代码再次点击翻页发现可以断住 接着调试执行我们就可以找到加密位置了并且可以看到在下面的回调方法中对响应进行了解密操作。
三、解决密钥
1、分析网站密钥的获取
在定位到加密以及解密位置后我们可以看到网站加解密时需要密钥并且网站的密钥获取是从本地存储中获取logo1和logo2 所以我们可以通过hooklocalStorage.setItem来找到网站是怎么生成的这两个参数。 hook代码
var my_setItem localStorage.setItem;
localStorage.setItem function (key, value) {debuggerreturn my_setItem.call(localStorage, key, value);
};同时为了让网站可以再次生成这两个参数我们需要先将本地存储中的删除。在控制台中进入“应用”这个标签页再点击“本地存储空间”然后点击清除按钮就可以清除了。 然后运行hook脚本点击浏览器上方的后退按钮。注意此处不能刷新页面因为刷新页面hook代码将不再运行同时此网站是在首页向本地存储中放入的参数所以我们要回退到首页生成。 点击回退后发现可以断住 接着调试执行我们就可以找到网站设置的位置了同时可以发现这个位置好像是在一个回调中。 再次观察发包可以发现网站确实是从一个bj.css的响应中提取的。所以我们就可以通过请求这个接口按照网站的提取方法提取出密钥或者自己写正则表达式将密钥提取出来。
四、验证码
1、获取数据错误
在扣完js之后我们发送请求会发现获取到的数据与网站抓包获取到的数据不太一致网站抓包获取到的数据是一整个密文而我们获取到的数据是一个json数据并且code是511 此时我们再次回到网站发现网站在收到code为511的响应时会出现一个验证码
2、处理验证码
点击刷新验证码可以发现网站是发送一个请求cms/validateCode/undefined获取的验证码响应中的data是base64编码的图片数据。 当我们输入一个错误的验证码时可以发现网站是将我们输入的内容拼接到路径中进行请求。 所以我们可以先请求undefined接口获取到一个验证码然后破解验证码我是使用的第三方打码平台将破解的验证码拼接到路径中再次发送请求然后再获取数据即可。
五、扣js
将加密以及解密位置的代码扣出缺啥补啥即可。 该网站使用的是webpack我们可以发现网站加密时使用的l和m都是来自于webpack中的模块 所以我们可以在f n(e2b4)打断点然后进入到n方法中扣出加载器然后再将需要的模块扣出即可。
