专栏首页咸鱼学Python实战案例浅析JS加密 - 基础总结篇

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

QQ空间的解密思路整理

本篇文章只是提供解密思路,不提供代码。

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

老规矩先找加密位置,相比于上一次的XXTEA加密,这次的加密参数是p,这个关键字太过常见,我们不以这个作为检索条件,否则干扰项太多。先检索其他加密的参数看看能不能发现什么。

按照上图断点的位置,发现了类似加密的位置,像此类带关键字的很容易就可以发现目标代码,我们先打个断点测试一下。

成功进入断点,说明判断没错。接下来我们这要把关键加密的代码抠出来补全即可。

理清参数

扣代码不仅仅是复制粘贴,需要先理清楚加密思路,像这里的$.Encryption.getEncryption(n, pt.plogin.salt, i.verifycode, pt.plogin.armSafeEdit.isSafe)这种一个加密函数的还是比较清晰,我们先要把参数补齐,再找关键的加密函数。

经过检索可以发现,这里的n就是我们传入的密码。

pt.plogin.salt是传入的用户名加密后的结果。

i.verifycode获取的是验证码的值。

pt.plogin.armSafeEdit.isSafe找了半天,打上断点发现是个空值。

现在所有的参数已经找齐了,我们直接进入关键加密的函数就可以了,打上断点把鼠标放在关键函数的位置在出现的蓝色链接上点击即可跳转。

把上面找的代码和关键加密的方法组装就可以得到加密后的参数了。

总结

以上加上前面的两篇就是js基础解密的部分了,基础的方法用三篇概述只能说个大概,之后会继续写基础部分的文章就是没有这三篇这么详细,没有动手自己走一遍流程永远只能停留在基础。

实战案例浅析JS加密 - DES与Base64

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

总的来说这三篇文章核心就是是下面这个流程。

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

基础的解密其实很简单了,只要自己动手去练习基本不会有太大问题。

流程捋清楚之后就是关于JS的学习,可以去B站上面看看。

https://www.bilibili.com/video/av34087791

最后就是心态问题,耐心在js调试上很关键,一直报错心态很容易崩,一烦躁反而调不出来了。

以上

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

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    aHR0cHM6Ly93d3cuYWxpd3guY29tLmNuL3JlYWRlcj9iaWQ9NjgxMzkyMyZjaWQ9Njc0MTc0

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

    aHR0cHM6Ly9wYXNzcG9ydC5rb25nemhvbmcuY29tL2xvZ2lu

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

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

    咸鱼学Python
  • 云数据安全与加密技术【数据库加密】

    云计算、大数据等信息技术正在深刻改变着人们的思维、生产、生活和学习方式,并延深进入人们的日常生活。

    新知号
  • 加密通讯可以防止隐私窃取,为何我们都不用它?

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

    FB客服
  • Oracle Data Redaction数据加密

    Oracle Database 12c中加入了Data Redaction作为一个新的安全特性。(实际在11g的官方Database Advanced Secu...

    数据和云
  • 最好的文件夹加密软件有哪些?

    我所说的这些,VeraCrypt 全部具备,并且它还支持多平台( macOS、Windows 和 Linux)。

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

    aHR0cHM6Ly93d3cuYWxpd3guY29tLmNuL3JlYWRlcj9iaWQ9NjgxMzkyMyZjaWQ9Njc0MTc0

    咸鱼学Python
  • SQL Server 数据加密功能解析

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

    腾讯云数据库团队
  • 从技术应用层来分析常见的视频加密方式

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

    点量小崔

扫码关注云+社区

领取腾讯云代金券