- 博客(21)
- 问答 (1)
- 收藏
- 关注
原创 Incapsula reese84 逆向
CanvasRenderingContext2D_十三 = document["createElement"]("canvas")["getContext"]("2d");window["performance"]["timing"]["navigationStart"]["toString"]() 写死。window["navigator"]["getBattery"] 函数 toString检测。toString检测。
2024-06-03 10:22:10
1247
原创 express搭建服务解决js补还境加密占用资源过高
需要注意的是,如果使用vm2模块来传参的话, const result = vm.run(script,data),,vm.rum第二个参数传递的是以字典的形式传递的,扣下来的webpak,与补还境js,动不动上万行,高并发服务器资源占用过大,使用express搭建服务能有效节省资源。port为端口号,app.post为请求方式,可以自定义,req.body为请求头中的表单数据,以json的格式传递。补还境需要v8环境,可以用vm2模块或者找编译好的v8dll。需要先安装node环境。
2023-08-05 14:42:50
270
原创 feapder爬虫框架使用
summary: 校验函数, 可用于校验response是否正确 若函数内抛出异常,则重试请求 若返回True 或 None,则进入解析函数 若返回False,则抛弃当前请求 可通过request.callback_name 区分不同的回调函数,编写不同的校验逻辑。这里可以设置代理,headers,cookies等,以字典的键值对形式传递,feapder封装的所有的请求都会走这里,传递加密密文可以从这里传递。spider为分布式爬虫,airspider为一般的轻量级爬虫,选择第一个轻量级的爬虫就可以了。
2023-04-02 18:44:02
2853
2
原创 Cloudflare 小记
无秒盾的cookie有效期为半个小时,拿20分钟左右的代理ip用起来刚好。用redis做个消息队列,一个存,一个取,一般能达到数据量的要求。五秒盾打开后一般会出现这个页面,然后让你点击确认你是不是真人,点击成功后会跳往所访问的url页面。需要注意的是,五秒盾绑定的是ip,请求头,与cookie,三者每次请求必须一致,少了,与别的串了,都会 出问题。会不会出现这个 确认你是真人的选项,则跟着浏览器的版本,ip质量,sele的驱动监测点等有关系。过无秒盾有很多种方法,一半是自动化工具做转发,或者直接硬刚逆了。
2023-03-25 16:01:15
3371
6
原创 python执行调用js文件的几种方式与问题
运行方法也是类似,不过有时候也会与execjs一样,报错编码问题,解决方案是将encoding ='utf-8'删掉。解决的话点击报错的位置的上一行,也就是\Python3.6\lib\subprocess.py的文件encoding处,将编码改为utf-8。.call后面第一个是js中要运行返回值的方法名字,后面的话是需要传入的值,也可以修改code的字符来达到传值的的目的。这个包是一个纯净的v8环境,没用node的环境,使用方式与execjs类似;3.node_vm2的沙箱。
2023-02-06 17:16:00
1930
原创 js逆向点点数据:自动扣webpak-webpackJsonp思路
扣的话还是扣知乎webpak的老办法,导出加载器,将最下面列表改成对象{},然后将1593加密包放进去运行调用。请求数据是k,网址是个标准的webpak,不过有有很多个js文件,文件加起来十几mb,就很恶心。然后打印下他运行了那些对象,可以看到1593后面又加载了59。
2023-01-11 11:47:12
3606
7
原创 js逆向今日头条_signature分析
检测点一百零几个,并不严格,打上断点直接补就好了,返回什么就补什么。s是个列表,r是取取值,a是具体检测了什么。然后在报错的这一行加上console.log('S=',S,'[R]=',R,'A=',A)放到浏览器运行。像sessionStorage这种的话,直接补对象,getItem是获取sessionStorage的键值对。异步跟栈有点难跟,有兴趣可以慢慢跟,挺锻炼的跟值技术的。发现这是个jsvmp,字节系都对node进行检测,补的话也非常简单。将文件赋值到插件里面,n是x方法生成的,进入x方法里面,
2022-09-14 23:05:53
1949
4
原创 知乎x-zse-96逆向,快速扣webpak方法。
新建一个自执行方法,把加载器c放进去,加载器c用到了r,再把r复制进去。然后随便定义一个全局变量承接加载器c,把刚才复制下来的js放到自执行方法的()里面,用个名字命名下。可以看到是url+uid+个时间搓用join拼接成字符串,然后return出一个对象,就是加密后的值了。进入到f方法里面,发现这是c.n调用的,传入e,返回的值就是传入的值,迷惑人的,看出三个加载器是c加载这里的。再次搜return处,把这个大的方法保存到js()里面,随便起名承接起来,方法同上。运行的过程跟浏览器一样,成功得到结果。..
2022-08-17 19:25:32
1507
13
原创 瑞数5药监局js逆向
本次网址:www.nmpa.gov.cn这是最后一篇四代五代瑞数的文章了,环境的话拿维普期刊的环境跑,稍微改下就能用,不会补的话看四代房地产的文章。 药监局的cook有效期有一段时效,拿到第二个ts也就是6000多行vm生成的cook,可以一直使用;无线debufgger右键跳过加个for (let i = 1; i < 99999; i++) window.clearInterval(i);获取流程;从首页进来只需要获取ts生成的cook跟202页面返回的俩cook,然后点击药品查询,会进入到搜索页面,也
2022-07-14 18:25:50
9002
16
原创 瑞数5维普期刊js逆向
网址首页http://lib.cqvip.com/瑞数5跟瑞数4区别不大,检测的东西多了一点,不会补的话可以看前面的瑞数4补环境。瑞数五有几个小版本,加密入口隐藏了,正则匹配直接能找到入口。\S{4} = \S{4}\[\S{4}\[\d{2}\]\]\(\S{4}, \S{4}\)拿瑞数4的环境加上代理,直接跑瑞数5,瑞数5环境比瑞数4稍作修改并多添加了一些环境检测。首页cook获取的长度问题: 打上src断点无痕访问,获取第一个ts,第一次获取ts是经过call生成的vm是一万两千行的,然后让这个大的自
2022-07-06 00:05:09
2998
5
原创 数美滑块js逆向
数美比较简单,加密参数很多,其实就三个,非常好扣。加密的地方在倒数第二个栈,反正栈就几个,想慢慢跟的慢慢跟,不想跟的直接进去打开无痕模式,清空放到滑动按钮上会触发js,生成滑块图片。滑动后会成功返回sm_1650789550794({"code":1100,"message":"success","requestId":"0a05f383db6ab835b73397b6a7c77be4","riskLevel":"PASS"}),失败返回reject进去后,加密的地方有很多,打上断点发现只会在第二.
2022-04-24 18:17:11
1444
原创 网易易盾js逆向分析
目标url:滑动拼图验证码_拼图验证_图形验证_在线体验_网易易盾抓包分析,先看看传递回来的参数看起来有用的就这几个包。滑动滑块故意失败,发现传回来断点data传个false,并返回tonke,成功则为true。失败的话还会重新传回两张图片。这俩包就是加密的地方。一步步跟栈,找到了加密位置,cd打上断点进入到函数内部,看看cd是怎么来的进去后发现传了个32然后进行加密,每次加密结果不同。进去后发现是随机生成一个字符串。直接扣就行。观察代码结构,v...
2022-03-28 16:29:37
3958
10
原创 极验滑块js逆向
登陆抓包后发现上传了几个参数,gt是别的包请求回来的,不做分析,w是要分析的加密参数。稍微正经的点公司,一般都是另外请求服务器,得到几个加密方法用的的几个值,多次刷新后发现几个值是变化的,返回的内容如下,八成是加密参数用到的。然后一步步跟栈,找到加密位置,w是h + u所得到的结果,l是h用到的一个参数,那打上断点进入到第一个加密逻辑里面。进入后发现没有vm虚拟机跳转,整体加密过程可能是在一个自执行方法里进行的。进入后发现这个t值位空,并没有传值进去,往下看发现他是new了一个方法,...
2022-03-19 19:34:48
121160
8
原创 深夜流泪音乐js逆向爬虫
然后来到第二次加密的算法的位置,发现传入的两个参数第一个是上一次加密的结果,另外一个是一个随机数,然后再进行一个aes加密。剩下的一个加密参数,是用a(16)出一个随机数,然后进行一次加密的,直接固定下来,懒得分析了,直接设置为定值完整代码如下。print('用户名字:', i['user']['nickname'])看起来加密参数有两个,跟栈以找加密位置就出现了,挺好找的。进去加密b函数,把key跟加密内容修改下,第二层的加密模式也让破解了;输入加密内容,就出现了我们要的加密加密参数。......
2022-03-09 12:57:44
84
原创 猿人学16题js逆向
多次重放攻击后,发现这是一个ajax请求,m是加密参数,t是一个时间戳 。那就直接跟栈进去,发现了btoa加密的参数,然后在控制台打印出来这是一个经过改写的btoa,下面就是扣代码的时间了;写下加密函数后,扣下btoa,显示u没有定义。进入到u里面发现—0x34e7还没有,在控制台上打出发现是一个列表。全扣下来发现f没有定义。找到后打上断点会发现f是一个字符串,扣下来后显示d没定义。,然后找到这一行扣下d跟md5函数,运行后发现n没有定义。...
2022-03-03 16:24:51
919
3
原创 破解新浪微博js加密登陆超详细
打开f12看到这个是阿贾克斯请求,加密的参数有两个,su跟sp,servertime 是一个时间戳,别的参数未知作用暂时不知道啥作用。搜索su和sp有四个地方疑似直接全部打上断点 ,最后在这个地方停下,可以看出d是账号,经过base64加密形成。进入到这个函数里面进入到这个函数里面发现这是this调用一个全局变量,这个函数包含在自执行函数里面。把自执行函数全部扣下来,随便放一个本地调试工具里面,加载代码提示有个对象没有定义。直接拉到最后一行,将自执行里面的这个对象删...
2022-01-13 21:22:06
1272
1
原创 js加密function自执行函数方法本地调试
打开抓包工具进入网站,然后随便输入账号密码(推荐错的,防止跳转),然后在ALL里面成功抓到用到的账号跟加密后的密码。然后进入到search里面搜索password,经过逐一排查比对,发现加密过程是在login.js?v4这个模块里面产生的。把鼠标放在encrypt.encrypt或者右上角小箭头进入到这个方法内部,然后点击JSEncrypt.prototype.encrypt这个方法,没有跳转到别动包,说明整个加密过程...
2021-12-28 21:48:14
787
1
原创 有道翻译js逆向 {‘errorCode‘: 50}
先打开F12,然后随便打出个单词会发现网址没有变化,但页面刷新了,这是一个阿贾克斯的请求。如下图:,上传的data如下:,再随便打个单词,页面自动刷新,会发现上传的参数三个值有变化:找到加密参数就好办了,下面搜索sing参数:,很幸运只有一个,点开js文件在sing加密参数处设置断点,然后刷新页面,会发现这是一个md5加密参数,sing由n.md5组成,也就是两个字符串+e+i组成的然后转换成md5加密参数,r是一个13位的时间戳,i是r+一个随机数也就是13位的时间戳加个随机数,e...
2021-12-21 00:15:20
344
空空如也
tesserocr报错
2022-02-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人