首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JS逆向之电信登录

抓包 万幸只有一个加密参数,搜索大法好呀,拿着加密参数全局搜一下,参数值呢就是密码输入框的 id 标签,和上一篇分享的那个 JS 逆向案例一样的。有惊喜… ? 十有八九就是它了,来下个断点走起。...点进去瞅瞅,看代码好像找到了JS 加密的代码 ? 一步步往下走,直接断到返回值,发现为空 ? ? 继续往下走,断点又回到最开始那个判断函数,然后进入了另一个加密函数 ?...看代码,所有加密的变量都与 CryptoJS 这个对象有关,所以关键之处在于找到这个对象定义的相关代码。继续往下单步调试 ? 两步之后,就找到了 CryptoJS 的定义了。...很简单吧,全部复制下来吧… 破解 找到加密 JS 就好办了,复制下来,在本地调试一波 ? 然后再把调用函数也一并拿下来 ? 在本地执行一下,然后和网站抓包数据比对下结果,结果一致! ?

1.9K20

JS逆向之国航登录

分享另一个破解JS登录的案例 抓包 网站如下:http://www.airchina.com.cn/www/jsp/userManager/login.jsp 下面是登录的抓包: ?...因为 JS 代码一般是根据输入框的 id 标签取相应的值,然后做加密! ? id标签 搜索结果如下: ? 结果 猜测应该是 RSA 加密! 分析 在加密的位置打上断点,重新发请求: ?...点击该函数进入,可以发现 RSAUtils 的定义及其相应的函数都在这个 JS 文件中,直接一把梭,将该文件中的 JS 代码全部复制下来吧: ?...所以也将bodyRSA 函数对应的的 JS 代码复制下来。最终本地 JS 文件内容如下: ? 最后,自己写个 JS 函数,执行一下,并和抓包的数据进行对比验证结果: ?...总结 可以看到在流程当中比较重要的地方就是: 1.找规律,寻找这些数据的加密规则 2.调试 JS,使用浏览器或者在本地进行调试 3.模拟数据,将这些数据通过代码模拟生成,然后加入到数据当中

1.4K60

JS逆向之新榜登录

分享一个破解JS登录的案例 抓包调试 下面是登录的抓包: ? 登录 一个 XHR 请求,下断点。或者搜索请求参数 ? 断点 打完断点后,重新发起请求,结果如下: ?...找到了密码加密地方,代码调用了两次 h 函数。 其中第二次调用的的参数是将第一次返回的结果加上 d.mdValue 的值!我们点击进入 h 函数 ?...函数h 将这部分代码扣下来,写到本地 JS 文件中 ? 在本地运行一下和网站上结果进行比对验证 ? ? 可以看到 password 这个参数对上了。...验证 其实,这两个 JS 加密函数都可以用 Python 代码来转换!...登录成功了! 总结 JS 逆向需要耐心调试,同时要理清思路,调试过程中发现的加密过程要记录下来,以免后续再发费时间寻找。同时需要大胆的去假设,多尝试。

1.4K30

JS逆向案例:破解登录密码

最近在学习JS逆向方面的知识,由于之前做过12306的自动抢票软件,因此对12306情有独钟,接下来就给大家介绍一下12306用户登录密码的参数破解办法。...首先我们打开12306的登录界面,打开抓包工具,输入用户名和一个错误的密码(例:123456),点击登录按钮并滑动验证码进行验证,在Ajax包中我们可以点击login这个包进入查看,我们可以发现password...打上断点后,我们在此输入用户名和密码,点击登录,此时发现浏览器停在了该断点位置,如下图所示 此时我们仔细分析一下该行 JS 代码,发现最后生成的参数是"@"加上一个加密函数返回的结果组成,该函数的第一个参数很显然就是我们输入的明文密码...此时我们继续按刚才方式搜索base64js部分,发现了一个文件名为base64js的,而且只有100多行代码,此时我们将其全部复制到刚才运行的代码最上面,再次运行,我们发现还是报错,提示:base64js...最后,补充完毕后的代码进行调试运行,结果如下: 将该JS代码打包成一个JS文件,利用python的execjs包可运行js代码,直接调用JS文件中的getpwd函数即可,python代码如下: import

4.7K10

调试JS代码

记录下近期对JS代码的调试过程 性能分析 启动程序之后,打开google浏览器对应页面,按F12或者Ctrl+Shift+I进入 开发者工具页面 目前主要使用的功能有: Performance....性能评估,比如我想看下页面刷新的性能瓶颈所在,先点击 按钮,然后进行页面操作,当页面刷新完成,再点击 按钮,则会生成性能报告,可以看到资源消耗,JS代码的执行逻辑等 Sources....性能报告页面的 部分,可以通过点击色块查看其所在的js代码文件,如 点击则会跳转到 功能栏,有了源文件就可以进行断点调试;这里注意部分js文件是压缩后的文件,建议手动修改程序替换成可读性更强的原始代码文件...查看程序的打印输出,比如我想知道某个函数的执行时间,可以在js代码中进行修改 当js代码执行之后,可以在console输出中看到foo的执行时间 Network....代码使用for循环进行操作,也就是线性复杂度,计算耗时随数据量的增大而线性增大 通过debug观察发现颜色数组会有不少重复的数值,而同样的输入会导致相同的输出,然后对整个数据的1M个点进行统计分析,发现重复率相当高

19K10

js代码规范

前言 在js代码开发中,我简单的总结出了以下规则,后面会陆续补充并且对规范进行分类。...js代码建议保存到后缀名.js的文件中 js代码不建议放在html中,原因有:不能被缓存,会增大网页文件的大小,可维护性不高,会影响页面的加载。...js吧任何表达式都当一条简单语句,会导致一些隐性的错误。如果自己没加分号,那么js解释器会自动添加分号,按照自己能读懂的断句。 9.2 复合语句 也称为语句块,被包在大括号内部。...比如对象 var obj={} ;var arr=[] eval eval是最容易混乱使用的js函数,他可以执行内部入参的js函数或者表达式,可以直接解析变量。不建议使用 。...尽量使用语法严格模式 消除代码之中的不友好;代码运行更快 ;保证运行的安全 ;为新版本的js做好铺垫。 22.

8.8K30

JS代码混淆 | js 逆向系列

/UglifyJS/ https://github.com/LiPinghai/UglifyJSDocCN/blob/master/README.md 使用方法 npm install uglify-js...-g uglifyjs example.js -c -m --mangle-props -c 代码压缩 -m 代码混淆 --mangle-props 混淆属性名 -b 美化显示 // 原代码 const...JShaman https://www.jshaman.com/ JShaman 是国内公司开发的js代码加密商业产品 免费版可以直接使用 // 原代码 const person = { age...,通过数组、字典等各种形式存储、拼接、替换等,最终进行还原,这里面没有利用到复杂的语法以及js 语言本身的特性,所以我们一点点解开也学不到什么; 这个代码就不一样了,我们一步一步解开它,尝试去学习其中的思路...console.log(c) 这次我们设计三个返回值,分别是函数定义、数值、字符串 看到这,我都蒙了,经过查询资料,我找到了两个维度的复杂的原因 JavaScript 中函数只能有一个返回值,你就说这玩意如果没学过 js

1.5K10
领券