JS逆向|对某加密字符串的一次解密,有时候并不需要搜索引擎

举报
悦来客栈的老板 发表于 2020/12/29 00:22:37 2020/12/29
【摘要】 声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 这篇文章寻找加密的参数,咸鱼哥已经写过了,请看 这里。只所以再写是因为那时候水平不够,对某个加密的字符串始终不知道怎么解密,也是看了别人的文章才知道有那么个库。要不然还真的无从下手,后来发现其实好简单的。让我来慢慢分析吧。 一、抓包分析,其接口地址在这里: 它的加密参数如下:...

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

这篇文章寻找加密的参数,咸鱼哥已经写过了,请看 这里。只所以再写是因为那时候水平不够,对某个加密的字符串始终不知道怎么解密,也是看了别人的文章才知道有那么个库。要不然还真的无从下手,后来发现其实好简单的。让我来慢慢分析吧。

一、抓包分析,其接口地址在这里:

它的加密参数如下:

二、全局搜索 cid=,定位到这里:

三、打上断点后重新请求一次:

四、跟进堆栈,看到这里:

看到了cid和md5这两个参数都出来了,再次跟到上一层:

这里的"\x65\x76\x61\x6c",就是eval的十六进制形式,一切都豁然开朗,copy下来再控制台上运行一下:

结果出来了,当你兴致勃勃的在node上运行时,报错了:

splic不是一个函数,确实也没见过 splic这个函数,只见过 split,从这代码上看,也确实比较像split:

'D7BWAcHNgdwUwEbmAJgKwE40DZiBpvARkF3o4ABlIGYzSAWEcg6latagdmoA5gBjAOwCGAWzjVcgQgtAjUGAQt0AssYGq4wBtZgaSNgSAJY816gCZrBI3ruDqhkACICALgOAAzdQBs4AZ2AUK6bBwDKAWQAJYD44AA8rAEk9Dy9uFxsrAFc3BEcAex4AawB9Hi0hHVYAMQBPAEUAJRgrbCKAJwBVADkAYQA3UIANABUALQBxEoAFJphgcDq4NqjgF0cQUIALHSsXSBds0JdQ+3U+dRdFuD1nPnsBRxdRcGtF8cmI/atxlxogA==='['\x73\x70\x6c\x69\x63']('\x7c')

  

splic前面的这一串是个加密的字符串,有点像base64,但不是,肯定不是普通的字符串。这下尴尬了。

                                       尴尬分割线

___________________________________________________________________

再分析,splic是一个字符串的方法,直接在浏览器上看呗:

跟进去后,来到这里:

将整个代码复制下来,添加到刚才的js文件里面去,再次运行,结果已经出来了:

至此,分析完毕,收工!

大家有兴趣的可以了解下 LZString 这个库,其github地址:

https://github.com/pieroxy/lz-string/

  

写这篇文章的目的只有一个:多用浏览器的控制台跟进函数,会有意想不到的收获!共勉。

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/109508011

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。