随笔分类 - 逆向案例
摘要:前言
本次针对某个翻译平台的js逆向,同时并不存在恶意,只是本着学习研究为主,同时,在分析期间并未高频次测试导致该平台服务器不可用
附言:
看出是哪个平台的朋友请不要评论或者说明是哪个网站,谢谢,为了安全起见哈!
分析
分析,找到接口
接口就是它了
请求参数有这些:
返回结果:
我接着又翻译了下【main】,请求参数是:
好,
阅读全文
摘要:前言
本次针对某个翻译平台的js逆向,同时并不存在恶意,只是本着学习研究为主,同时,在分析期间并未高频次测试导致该平台服务器不可用
观察
首先直接体验下:
抓包查看请求的接口:
然后请求参数有这些:
我多翻译几次之后,发现,就有4个值是一直会变得,其他不会变,就 lts,bv,salt,sign,就这四个,然后i就是我们输入的待翻译的字段
阅读全文
摘要:要网址私信(博客园私信即可,不用加微信、关注公众号、转发朋友圈、朋友圈集赞满等等的无聊操作,没有那些套路哈)。
分析
这次也是一个国外的代理网站,打开查看:
是的,它也是对端口做了加密,这里的rf034其实就是实际的端口,但是并没有直接显示出来,而是通过一段js实现的
那么这段js在哪呢?直接全文检索:
阅读全文
摘要:前言
其实有关AES,之前发过一版的博客文章,python爬虫- js逆向解密之破解AES(CryptoJS)加密的反爬机制
而这次虽然也是AES,但是这次的变化有点大了。
这次的目标对象同样也是我的老朋友给我的,还是老规矩,地址我不会给出来的
打开网址,界面如下:
不要问我为什么码了这么多,主要涉及到了手机号哈,马赛克必须马死
阅读全文
摘要:今天偶然看到个国外的代理网站(具体哪个保密),它的端口是做了映射的,虽然不难,但是看起来很有意思
浏览器打开是这样:
网站源码是这样:
阅读全文
摘要:言
我朋友给了我一个网站,说他们内部测试用的,要我看下有没有办法爬数据,也就是他们的搜索接口能搞不,这已经是我做反爬开始的第n个爬虫等级测试了
分析
习以为常的打开网站,然后就看到下面的界面:
阅读全文
摘要:@babel/parse
解析函数
babelParser.parse(code, [options])
将提供的代码作为一个完整的ECMAScript程序进行解析
阅读全文
摘要:不多说,直接看,能背下来最好,别问那么多,看就完了,后续很多的操作都依附于这些
@babel/parser:将js源码转为AST对象
@babel/traverse:对AST对象遍历
@babel/types:对AST节点操作,修改,删除等
@babel/generator:将AST对象转为js代码
通常的流程就是:
将混淆的js用parser转为AST,traverse和types对AST处理转译,generator将转译处理好的AST转为js代码,最后的这个js代码就是可读性很强的那种,后续的逆向就可以操作了
阅读全文
摘要:什么是AST?
答:在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。
它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。(摘自百度百科)
阅读全文
摘要:https需要CA证书,我们之前说的中间人需要对客户端伪装成真正的服务端,要求就是当客户端向我们发送网络请求时,我们必须能够给指定域名签发公钥证书,且公钥证书能够通过系统的安全校验。对于我们是不是真正的客户端,通常来说服务器是不太会关心的,他是不会去关心你是谷歌浏览器还是百度浏览器,当然了也会有例外。接下来要说的双向验证就是如此。
单向验证与双向验证
首先了解一下什么是https的单双向验证,主要说一下双向验证,双向验证相比较单向验证,增加了服务端对客户端的认证。
阅读全文
摘要:前面有一两篇博文介绍过frida,对于做安全和逆向的朋友来说,那简直就是象棋里“車”的存在,走哪杀哪,所以这也对做安全的人来说,肯定也会针对frida做一定的反制,以下就是转载的检测frida的方法
阅读全文
摘要:篇一
JavaScript API
目录
Global
console
rpc
Frida
Process
Module
ModuleMa
阅读全文
摘要:现在这个大数据时代,流量逐渐由web端转移到移动端,而目前主流的移动端就是安卓和ios端了,随着时间的积累,很多平台的数据也越来越庞大,数据越来越多,同时,针对这方面的爬虫分析也慢慢开始多了起来,这真是我的切身体验,现在基本都要
阅读全文
摘要:死代码与花指令
在开始之前,我们先了解一下这种「在代码中插入大量无用代码以混淆视听」的混淆方式吧。这种混淆方式有两种叫法,或者说是两种做法,它们分别是「死代码」和「花指令」。
死代码
死代码一开始是被用来描述一些人写代码时写出的没有用到的代码的,为了编译后的文件尽可能地小,编译器通常会对死代码进行移除处理。
而在不知道什么时候开始,死代码被安全工作者们用来作为一种混淆机制,以将代码量变得极为庞大,使进行逆向工程的人难以找到主要逻辑。
但死代码有个很明显的特征:它虽然看着代码量很大,但实际却完全不会在程序的正常代码中被调用。
阅读全文
摘要:别问为什么会想到对微信小程序反编译,就是临时想起的
然后往上搜罗了各种,资料,总结如下:
需要用到工具:
npm
安卓模拟器
微信开发者工具
反编译工具
阅读全文
摘要:言
同上一篇的aes加密一样,也是偶然发现这个rsa加密的,目标网站我就不说了,保密。
当我发现这个网站是ajax加载时:
我已经习以为常,正在进行爬取时,发现返回为空,我开始用findler抓包,发现它验证了cookie,然后我带上cookie访问放到headers里,就能得到结果
heade
阅读全文
摘要:发现问题
在一次偶然中,在爬取某个网站时,老方法,打开调试工具查看请求方式,请求拦截,是否是异步加载,不亦乐乎,当我以为这个网站非常简单的时候,发现二级网页的地址和源码不对应
Ajax异步加载?源码也是这样的
而且这些链接直接访问根本无法访问
用火狐浏览器的event显示:
找到加密方式
源码:
function() {
var hh = $(this).attr("href");
if (typeof(hh) == 'undefined' || hh == '#') {
return
}
var aa = hh.split("/");
var aaa = aa.length;
阅读全文