RSA逆向案例观鸟

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

声明:
仅供学习交流,严禁用于商业用途和非法用途,否则后果自负,与作者无关。如若侵权,请联系删除。练习网址aHR0cDovL2JpcmRyZXBvcnQuY24vaG9tZS9hY3Rpdml0eS9wYWdlLmh0bWw=


一、请求头参数逆向


1.抓包找加密参数,看请求参数有两个值是加密的,sign、Requestid首先就是要找出这两个值的加密位置。


在这里插入图片描述


2.这里选择XHR断点寻找参数加密位置,翻页,断点生效,成功拦截



3.此时的header肯定是已经加密处理过的,往上跟栈,send发包之前,到ajax这里,往上翻,慢慢找,看看有没有有用的信息,突然,我们发现setRequestHeader函数,我们推测可能跟它有关系,我们打上断点,重新翻页,让代码断住,然后进入函数内


在这里插入图片描述



在这里插入图片描述



在这里插入图片描述



4.到这里各个参数的加密位置我们已经找到,sign也就是f=MD5(e + d + c) requestId是d,也就是getUuid()这个函数生成的,c是时间戳,e是明文页码和页面最大条数。用在线MD5加密e + d + c 发现和加密结果网站一致,说明该网站的md5加密并未魔改。


在这里插入图片描述


5.然后我们把这个函数和需要用到的函数抠下来并改写,首先进入生成d的函数getUuid(),运行一下,报错,函数未定义,然后把另外两个补上,然后导入crypto-js和jsencrypt两个库,把encrypt.encryptUnicodeLong 替换成 encrypt.encrypt再次运行,成功拿到值。


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

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

在这里插入图片描述

在这里插入图片描述

二、解密页面数据返回值data


1.继续XHR断点,往上跟栈,会发现ajax里的parseData比较可疑,打个断点试下


在这里插入图片描述


2.这里的data已经是加密过的了,点进去看下


在这里插入图片描述


3.打个断点并跳到这里,res.data是加密data,BIRDREPORT_APIJS.decode(res.data)是明文,显而易见,解密函数就是 BIRDREPORT_APIJS.decode,我们点进去


在这里插入图片描述


4.到这里就很清晰了aes加密,填充pkcs7,模式CBC,我们把函数拿下来,并改写,a参数就是密文data,接下来写py文件。大功告成!


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


总结

菜,还带多练!!!

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值