专栏首页咸鱼学Python实战案例浅析JS加密 - RSA与XXTEA

实战案例浅析JS加密 - RSA与XXTEA

这次要研究的网站采用的是rsa加密以及xxtea。

这里先复习下上一篇讲过的调试流程基础版:

  1. 如果网页有跳转,必须勾选 preservelog 防止丢包
  2. 看一下有没有框架 右键查看框架源代码(弹出式登陆界面)
  3. 登陆尽量使用错误密码 防止跳转
  4. 查看关键登陆包 分析哪些参数是加密的
  5. 使用别的浏览器分析哪些参数是固定的值
  6. 初步猜测加密方法
  7. 搜索
    • 直接搜索参数
    • pwd=
    • pwd =
    • pwd:
    • pwd :
    • 密码框地方右键 检查 查看 id name type
  8. 找到加密的地方(重点)
  9. 调试
  10. 找出所有的加密代码
    • 从最后一步开始写起,缺啥找啥
    • 如果找的是函数的话 search 要带上 function xxx
    • 如果看到加密的地方有个类,并且之后是用 prototype 把方法加在原生对象上的话,要把 所有加在原生对象上的方法都找出来
    • 函数找多了没关系,只要不报错不会影响结果,但是不能找少了

以上就是上篇文章调试的核心流程,接下来我们继续用实战案例练习一下。

RSA

先看下要解析的加密参数,记住流程的前几点:

接下来搜索参数,分析可能存在加密代码的js文件:

尝试了上面流程里面列举的可能的参数名,并没有发现有用的信息,所以试了下直接搜索password关键字,找到一个可能和登陆相关的文件,搜索发现疑似的加密代码:

先测试打个断点试试:

成功进入断点接下来,就是缺啥找啥补齐就可以了,强烈建议大家下载一个webstorm,方便调试。

我们先把代码里面的值填写一下,运行看看报错是什么:

根据报错我们找找这里的RSAKey在哪里,不知道如何查找可以将鼠标悬停在对应位置即可根据提示找到对应的代码。

反复操作即可,缺啥找啥直至js文件无报错即可。

小结

咸鱼找了一些简单网站,查看了对应的RSA加密的方法,总结了以下套路:

  • 一般的rsa加密通常会先声明一个rsa对象
  • 本地使用公钥加密即public key
  • 通常有Encrypt关键字
  • 加密后字符长度为128位或256位 结合以上套路可以帮助我们快速判断加密方式如何,便于我们理清解密思路。

XXTEA

“微型加密算法(TEA)及其相关变种(XTEA,Block TEA,XXTEA)都是分组加密算法,它们很容易被描述,实现也很简单(典型的几行代码)。 XXTEA是其最新的变种,于1998年提出。目前还没有人找到对其进行攻击的方法,是对前面一些变种的改进。XXTEA 算法很安全,而且非常快速,非常适合应用于 Web 开发中。 以上引用自https://my.oschina.net/mickelfeng/blog/109388

介绍完 XXTEA 我们先看看加密案例网站是什么样子的:

可以看到传输的参数都是加密后的密文,像这类加密我们可以参考提交表单中的id,class等,查看密码框的id后,全局搜索pass:

找到疑似代码的位置,不确定可以打上断点测试一下,通过断点发确认加密位置:

接下来就是缺啥补啥的过程,经过解密发现这个网站加密过程是一个xxtea.base64的加密。

对比上一篇文章的base64的加密其实区别不大,但是在解密过程中需要思路的转变。

以上就是咸鱼对js解密的案例练习,希望对你有所帮助。

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython),作者:煌金的咸鱼

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实战案例浅析JS加密 - 基础总结篇

    找了一圈发现越是大厂加密越是简单,安全防护之类的完全不靠js加密,扫码登陆才是关键。比如微信公众号平台的登陆加密就是简单的MD5,但人家有扫码登陆,此类情况比比...

    咸鱼学Python
  • Python爬虫进阶必备 | XX文学加密分析实例

    aHR0cHM6Ly93d3cuYWxpd3guY29tLmNuL3JlYWRlcj9iaWQ9NjgxMzkyMyZjaWQ9Njc0MTc0

    咸鱼学Python
  • Python爬虫进阶必备 | X笔网密码加密分析

    有读者朋友纠结于搜索password = or password:这样需要搜索两遍是不是浪费时间了,不如直接搜索password来的方便快捷。

    咸鱼学Python
  • 视频流媒体服务器RTSP拉流、RTMP推流流媒体服务器授权方案之加密机运行后无法授权问题解决

    随着互联网基础设施建设的不断完善和发展,带宽的不断提速,尤其是光纤入户、4G/5G/NB-IoT各种网络技术的大规模商用,视频随时随地可看、可控、可视频会议调度...

    EasyNVR
  • 安全科普:理解SSL(https)中的对称加密与非对称加密

    作者 懒懒dě-nms 今天刚好为站点的后台弄了下https,就来分享我了解的吧。 ? 密码学最早可以追溯到古希腊罗马时代,那时的加密方法很简单:替换字母。 早...

    FB客服
  • 这些hash你了解吗?

    hash大家都不陌生,不同的hash又不一样的特征,今天的主要内容就是带大家一起来学习了解一下不同的hash。

    信安之路
  • 加密模式CBC、ECB、CTR、OCF和CFB

    在开发中如果有接触到加密,就一定遇到过MD5、DES、Triple DES、AES、RSA等加密方式(这些都叫加密算法);在深入了解加密领域的知识...

    java乐园
  • 从技术应用层来分析常见的视频加密方式

    网络通信的工作有七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。在不同的层级上可以对数据进行加密,总的来说在根据加密技术应用的层级不同,加密的...

    点量小崔
  • SQL Server 数据加密功能解析

    通常来讲,数据加密分为对称加密和非对称加密。SQL Server 就使用了折中的方法,所以SQL Server 加密功能包含2个部分:数据加密和密钥管理。本文将...

    腾讯云数据库团队
  • 加密通讯可以防止隐私窃取,为何我们都不用它?

    前言: 分享这篇文章的原因是这几天在上课的时候,密码学老师讲解的密码学把我吸引住了,说到什么加密解密,讲课逻辑性挺高的,我喜欢—>_<。 其实说到真正分享这篇文...

    FB客服

扫码关注云+社区

领取腾讯云代金券