关注我的公众号:【编程朝花夕拾】,可获取首发内容。
01 引言
我们经常会通过逆向来分析接口,抓取接口数据。于是便有了攻防演练,攻的人像抓取数据,防的人既要防止抓取的人获取数据,也要能保证页面数据的正常展示。压力给到防的人这边,防的太严又怕误伤正常用户。
于是,各种加密,混淆等方案层出不穷。人为逆向的难度大幅度增加,但是AI时代,又将门槛直接拉低。
我们一起看看一个案例。
02 案例
2.1 正常网站
没有任何加密和混淆的网站是这样的。我们以掘金热榜的后端列表为例:

请求报文和响应报文都是明文的,可以直接通过接口抓取的方式直接获取所有数据。
这也是我们大多数网站使用的方式,正常展示给大家。要抓就抓取呗!
2.2 加密网站
一直很喜欢的一个壁纸网站哲风壁纸,官网地址:www.haowallpaper.com/
它的请求报文和响应报文都采用了Base64编码,不是简单的编码,其中还增加混淆的机制。
请求报文

响应报文

2.3 逆向分析
Base64编码可以通过浏览的函数btoa()和atob()编解码,解码之后我们会发现还是看不出所以然来。
因为页面是正常访问的,索引最终肯定会解密。前端解密,秘钥自然会下放到js里面,我们一起看看:

它的JS太多了,且没有规律,可读性还很差。根本无从下手。
虽然我们可以通过监控请求路径:pc/wallpaper/wallpaperList来初步定位。
我们先来看看:
监控路径

监控结果

我们继续断点跟进,发现还是没有任何头绪。要抓对应的图片信息太难了。
03 AI逆向
AI时代,是不是就不需要我们再去一步一步的定位了。
我这里使用opencode处理:
解析一下壁纸的请求参数和相应参数:www.haowallpaper.com/

经过漫长的等待,我们看到解析成功:

网站采用了AES-128-CBC + PKCS7算法。
如何定位呢?
我们同样交给AI
如何断点获取到解密的数据以及解密的具体位置

AI给出了多种断点的方法。我们按照方式尝试即可、
我们按照方式尝试断点:

按照步骤,我们很快就可定位解密的位置。
04 小结
AI逆向降低了使用者的门槛,还有类似哪种滑动验证码的风控,AI介入分分钟解决战斗。AI不仅擅长编码,更擅长数据分析,那些重复的找工作或者数据分析,交给AI,往往会事半功倍!
老铁们,你们用AI做过那些逆向分析?