黑客网站渗透入侵破解拿权限
10.4K subscribers
2.39K photos
108 links
Download Telegram
瑞数waf全混淆定位加解密函数

hook Json Parse & hook Json stringify

其实无论是什么样的js,在其发送加密数据之前肯定是需要进行json序列化的。生命周期:

明文数据 -> json.stringify 序列化 -> 调用加密函数

同理在其解密数据之后肯定需要json反序列化

调用解密函数 -> json.Parse 反序列化 -> 明文数据

那么其实就意味着我们可以通过hook stringify&Parse 这两个函数,在其前后堆栈中找到加解密函数。这样无论他是混淆还是隐式调用都能找到加密函数了。这里以某金融网站为例:

无限debugger的过程就不赘述了上文中已经提及。

以加密为例,首先在控制台输入hook JSON.stringify的

然后点击功能点,此时hook到了函数。一步步,步过。

接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
抓APP的数据包
那怎么用Fiddler抓App的数据包呢?

先说下大概思路:电脑开一个代理,手机连接电脑代理后,手机上的流量都会经过电脑,那这个时候就可以在电脑端抓取app的数据。

Fiddler抓app也是这个原理。

首先需要在Fiddler上配置端口,便于手机连接。

点击 tools——> Options…. 就进入该页面,选择Connections 栏目,按照下面的配置(端口可以修改,建议用默认的)

其他选项保持默认的,比如Https栏目下的选项默认勾选,然后重启Fiddler。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
如果配置代理后,无法正常访问网站,或者Fiddler无法正常截取数据。可以按照如下配置

1、在Fiddler下,点击Tools > Fiddler Options > connections **勾选上 **Allow remote clients to connect 选项,确保Fiddler listens to port是8888。

2、打开注册表,在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Fiddler2 (也可以在注册表中直接搜索Fiddler)下创建一个DWORD,值设置为80(十进制)

3、在Fiddler下,点击Rules > Customize Rules,在 OnBeforeRequest 函数内加添代码

4、重启Fiddler即可。

接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
hook代码如下:由于thiscall是由被调用函数清理参数栈,因此将新函数的调用约定为stdcall。这样除了this指针没有通过ecx传递之外,其余的操作与thiscall相同。如果新函数中需要使用this指针(如调用原函数),需要在函数开头push ecx,将this指针保存在栈上。当需要使用时,pop ecx,将this指针传给ecx以模拟thiscall。注意:push ecx之后堆栈会变化,需要自己维护,在函数结束时保持堆栈平衡,编译器优化会将函数调用约定变为__usercall,这种调用约定传参与fastcall一样,但是无论是调用方还是被调用方都没有清理堆栈,程序可能会崩溃。可以禁用优化,不使用这种调用约定

接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
爬虫逆向基础之sign加密破解目标网站:aHR0cHM6Ly9zb3VrZS54ZGYuY24vc2VhcmNoP2NpdHlDb2RlPTQ0MDEwMCZjYXRlZ29yeUNvZGU9MTIw网站分析打开F12,找到对应的网页数据,并选择response,查看网页源代码,是否在网页代码中存在目标数据。

很遗憾,并没有发现目标数据,因此这必然是一个动态加载的数据,数据分类属于XHR。

首先清空刚刚的所有包,然后包的分类选择Fetch/XHR,选择后点击页面跳转,自然就会出现图上所框住的两条数据。
数据分析

Query String Parameters指的是查询参数的意思。在上图一共有6个查询参数,分别是:1、appid:未知标识2、cityCode:城市编码(该网站设置的)3、t:时间戳(当前系统的时间,指的是由1970年1月1日开始所经过的秒数)4、PageIndex:页码5、pageSize:一个页面有多少个数据6、categoryCode:课程列别编码
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
在请求头的位置出现了Sign值,意味着在对目标发起请求时需要携带Sign值去访问。但是经过测试sign值是不断变换的,我们可以来做一次测试。这里给大家介绍一个网站,可以自动生成代码https://curlconverter.com/操作步骤:1、选择目标数据接口——>右键——>copy——>copy all as cURL2、将复制的内容粘贴到目标网站即可。import requests
​
headers = {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Origin': 'https://souke.xdf.cn',
'Pragma': 'no-cache',
'Referer': 'https://souke.xdf.cn/search?cityCode=440100&categoryCode=120',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-site',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sign': '9790abf162133a24a9318d33b9957410',
点击Initiator,并未发现下面的函数有0x开头的值,因此并不存在代码的混淆。那就好办了。断点测试向这类没有混淆的代码,我们可以直接通过断点url的路径。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke
进来ve函数后,打上断点.得到这个ve这个函数就是生成sign值的部分它是由t和Ke.b拼接而成的加密数据
原数据:appId=5053&cityCode=440100&t=1703572500623&pageIndex=4&pageSize=12&categoryCode=120&order=0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2那它是怎么样转换成加密的呢?它的加密逻辑是什么?这里大家如果对js比较熟悉就不难发现这个是属于MD5加密。当然不熟也没有关系,大部分网站对sign值的加密都是MD5。那我们找个在线的MD5加密网站测试一下。
与刚刚输出的结果一致。编写js代码// 需要在当前目录安装crypto-js
const CryptoJs = require('crypto-js')
t = (new Date).getTime()
encrypt1 = CryptoJs.MD5('appId=5053&cityCode=440100&t=1703572500623&pageIndex=4&pageSize=12&categoryCode=120&order=0750F82C2-D8F6-49F6-878C-1E7EBEBC8DA2').toString()
console.log(encrypt1)输出结果:16eb08631842bcb315ca7fc8ac164eae需要配置node,具体过程自行查找,另外vscode需要安装run code插件。最后在项目文件夹安装crypto-jsnpm install crypto-js使用python执行js代码pip install pyexecjs
pip install pyexecjs2首先安装第二版本的pyexecjs,现在网上你能找到的大部分教程都是以1版本为主,但是那个已经不再维护了。import execjs

with open('dome1.js', 'r', encoding='utf-8') as f:
js = f.read()

ctx = execjs.compile(js)
sign = ctx.call('get_sign')
print(sign)运行结果16eb08631842bcb315ca7fc8ac164eae代码优化
优化js代码|
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我
@MoA_Ke