js逆向心路历程(二)

接上js逆向心路历程(一)
现在我们会了js的必经之路 (全局搜索 定位 断点 测试 得到结果)
但其实别人设计网站的也会知道我们要这样 逆他们的加密,那么他们就会在这些步骤中加大我们的时间成本,测试成本。

设计网站,跟我们爬虫其实就是 盾与矛 双方都有成本预算,只要他们的加密成本足够大,他们就不会再加强了,甚至可能会减弱,因为生意的本质是赚钱。(当然了他们成本加大了,我们的时间成本也会变大)

比较难的网站:某宝,某点评,某团等,还有一些 .gov 的网站在我们按f12 的时候他就会断点卡住,不让我们看f12的信息,对于这些网站我仍需努力学习。

那么进入今天的主题

第一个网站

中国电信

老套路,填入账号密码 按 f12 登录抓包
在这里插入图片描述

然后我们去搜这个uPwd 发现啥东西也不是
在这里插入图片描述
当我们点击进去的时候发现搜索这个Pwd有135个那么多,这肯定不是我们想要的
在这里插入图片描述

方法一:那就使用上篇文章的技巧,搜索 js 加密的灵魂 encrypt

在这里插入图片描述
我们发现无论 uPwd 还是 encrypt都是指向 这个loginNew.js 文件,我们可以肯定我们要的逻辑在这个js里

方法二:当然了这里还有一种方法可以确定是这个js文件

在这里插入图片描述
回到一开始抓包的位置,我们将鼠标移到 validate这个包的 Initor 的位置,这个其实叫关联包,然后我们需要的包 通常的名字都是 带login字样 或者这种 (anonymous(英文:匿名))的东西里

在这里插入图片描述

然后我们找到这里,确定这里的原因(因为有pwd,有aesEncrypt(val) )那就可以尝试刷新了发现可以断下


在这里插入图片描述

而我们只需要知道这个$(this).aesEncrypt(val) 的全部参数就可以得到我们的结果了

在这里插入图片描述
在这里插入图片描述
然后修改下
这就是我们 js逆向 的初始模样了
在这里插入图片描述

同样的步骤,找到aesEncrypt里面的所有参数 然后就可以了
在这里插入图片描述
e就是我们的pwd ,然后找到其他就好了
在这里插入图片描述
点进去然后我们看到整个js的头部和尾部

在这里插入图片描述
在这里插入图片描述
头是申明一个变量,尾是 赋值一个变量然后最后是 以 })();
这种模式结尾的,其实就是整个 js 的调用
我们将整个复制下来然后运行就得出结果了

在这里插入图片描述

最后一步就是判断了

在这里插入图片描述
在这里插入图片描述

第二个网站

https://dynamic2.scrape.center/page/1
我们要获取里面的电影条目 但他是 ajax 加载的内容 所以还是抓包
在这里插入图片描述
同样的 全局搜索
在这里插入图片描述
找到了断点位置并断点刷新
在这里插入图片描述
我们只需要找
在这里插入图片描述
在这里插入图片描述
很明显后面那个东西就是网站的api带入进去的

然后找前面的object
在这里插入图片描述

到了这里,我们其实就发现已经不需要运行 js 的文件了,因为这段代码逻辑很简单,我们单纯在python中模拟也可以
我们来分析一下

return的是c 那么c需要的是 n 这个函数
而我们发现 n这个函数他包含了很多加密技术

在这里插入图片描述
然后 t 是时间截
r是一个数组,数组里面的东西就是 (for…)这个东西生成的
在这里插入图片描述

import hashlib,base64,time
def gettoken():
    ts = time.time()
    e = 1
    r = ["/api/movie",str(ts)]
    o = hashlib.sha1(",".join(r).encode('utf-8')).hexdigest()
    c = base64.b64encode((",".join([o,str(ts)]).encode('utf-8'))).decode('utf-8')
    print(c)
gettoken()
# MWRmYzE2MmRjNTQzMjA5YTdkNDM1ZWIyNzQzMWEwMmQ3MzcwZWIxYSwxNTk3MTMzOTEwLjE0NDM1OTQ=

因为加了时间截所以无法测试是否相同,但可以请求到ajax的数据

同样是这样的 逻辑,我们看看更难一点的 js 文档
https://dynamic6.scrape.cuiqingcai.com/
在这里插入图片描述
这个网站就将所有函数编程了16进制的加密变得难以观看,但我们仍然能查找相同复制
在这里插入图片描述
断点在同样的位置,也是能断的
然后步骤也跟上面的一样了

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
app逆向js逆向是两种不同的技术方法。app逆向主要是指对安卓应用程序的逆向工程,通过反编译、分析、修改应用程序的代码和功能。在app逆向过程中,常用的工具包括jadx反编译工具、JEB反编译工具、Frida之Hook工具、IDAPro反汇编工具等。可以通过这些工具来分析应用程序的逻辑、修改参数和功能等。 而js逆向主要是指对JavaScript代码的逆向工程,通过分析和解密JavaScript代码,获取其中的关键信息。在js逆向过程中,常用的工具包括查壳工具、加密解密工具、鬼鬼js加密浏览器、Python的execjs库等。可以通过这些工具来解密加密的JavaScript代码、分析代码逻辑以及调试代码等。 所以,app逆向主要是对安卓应用程序进行逆向分析和修改,而js逆向主要是对JavaScript代码进行解密和分析。这两种逆向方法在实际应用中可以结合使用,以达到更好的逆向效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [APP逆向工具-js调试](https://blog.csdn.net/b806071099/article/details/115553351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [suning易购商城app api_sign参数逆向解析 最新现可用_x_req_block_加密 解密sign等参数](https://download.csdn.net/download/qq_40609990/85586243)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Android逆向基础入门](https://blog.csdn.net/weixin_43411585/article/details/122503411)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值