8

JS逆向- 万创帮加密解析

 2 years ago
source link: http://xianyucoder.cn/2020/07/16/%E6%AF%8F%E6%97%A5JS-%E4%B8%87%E5%88%9B%E5%B8%AE-MD5/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

JS逆向- 万创帮加密解析

发表于

2020-07-16

|

更新于 2020-09-24

| 分类于 js逆向

| 评论数: 0

| 556次阅读

本文字数: 3.9k

|

阅读时长 ≈ 7 分钟

今日目标站

aHR0cHM6Ly9tLndjYmNoaW5hLmNvbS9sb2dpbi9vdGhlci1sb2dpbi5odG1s

老规矩先抓包分析请求【图1-1】:

可以看到提交的参数是 json 格式的数据,分别有 sign、password 这两个比较明显的加密,先逐个搜索一下。

定位加密 - sign

直接通过搜索参数名是可以直接定位到加密位置的。【图2-1】

打开【图2-1】中第二个搜索结果,可以看到比较明显的加密位置。【图2-2】

重新请求可以直接断在我们断点的位置,变量 v 与 变量 g 的值都是 undefine,变量N是变量c哈希后大写的结果。【图2-3】

我们可以用 Python 代码验证一下。

from hashlib import md5
def md5value(s):
a = md5(s.encode()).hexdigest()
return a
print(md5value('1570346144866').upper())
===============================
AB7BB567F34658742D95D9F6B72ECC34

定位加密 - password

按照上面的思路我们搜索一下参数名 password , 搜索出来的结果比较多【图3-1】。

一个一个找太麻烦了,比较简单的方法是直接用 XHR 断点然后直接翻堆栈。

先根据 XHR 请求添加一个 XHR 断点【图3-2】

重新请求后在右侧堆栈栏逐步向上翻【图3-3】,同时观察左侧 password 值的变化。可以看到当断点在【图3-3】位置时,password 的值是我们输入的明文,到下一步时值就被加密过了。

同时可以定位 password 的加密位置在【图3-4】

加密逻辑也非常简单。

from hashlib import md5
def md5value(s):
a = md5(s.encode()).hexdigest()
return a
print(md5value('11111111111').upper())
==============================
ADBC91A43E988A3B5B745B8529A90B61

到这里整体的加密就分析出来了,非常简单。

同类型的加密网站还有:

5rG96L2m5LmL5a62

5piT6LS36YCa

5oOg6YeR6ZSB

5b2T5LmQ572R

5aW96LGG6I+c6LCx572R

像 md5 这类的 hash 用 Python 实现比 node.js 实现方便的多,不用扣取代码,复用上面的 Python 代码就可以实现。

感兴趣的朋友可以试试上面的这些网站,总结出 md5 hash 的一些特征。

煌金 wechat
扫描关注公众号,回复「1024」获取为你准备的特别推送~
  • 本文作者: 煌金 | 微信公众号【咸鱼学Python】
  • 本文链接: http://www.xianyucoder.cn/2020/07/16/每日JS-万创帮-MD5/
  • 版权声明: 本博客所有文章除特别声明外,均采用 许可协议。转载请注明出处!
  • 并保留本声明和上方二维码。感谢您的阅读和支持!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK