记一次对密码加密的渗透

admin 2024年5月30日17:25:25评论3 views字数 1210阅读4分2秒阅读模式

背景

昨天正忙着当牛做马,突然就弹出老哥消息,只见老哥发了个链接,然后说爆破,于是我就上去看看是怎么个事

开局一个登录框还有验证码,彳亍,抓包看看什么情况

抓包后发现密码加密了,ok,撸起袖子就是开干

记一次对密码加密的渗透

准备

一般像这种某个参数加密都是有js在前端做加密处理,只要我们定位到加密的js和函数进行调用,就可以控制该参数来进行爆破或其他行为

首先准备好burp插件jsEncrypter和nodejs(也可以使用phantomjs

jsEncrypter插件使用phantomjs启动前端加密函数对数据进行加密,方便对加密数据输入点进行fuzz,比如可以使用于前端加密传输爆破等场景。

记一次对密码加密的渗透

nodejs则是用于运行javascript代码。

记一次对密码加密的渗透

0x01 定位

首先我们先来定位加密函数的位置,根据提交密码的对应的参数是cspwd,那就在js中找下这个参数在哪,login.js中我们定位到了五处

记一次对密码加密的渗透

现在来找到他的加密段在哪,咱们继续往下匹配,这里就找到了他加密的地方

记一次对密码加密的渗透

0x02 编写

这里就好办了,既然知道了加密的处理方式,后面就是简单的复制粘贴,我们吧这个库中的js全部都复制粘贴到需要编写的nodejs_server.js中

记一次对密码加密的渗透

然后在需要编写的地方填写上加密的函数就像下面这样

记一次对密码加密的渗透

然后就是启动,成功启动后咱们来测试下数据是否能成功加密

记一次对密码加密的渗透

点击test却发现报错了?根据提示去看看哪里有问题

记一次对密码加密的渗透

记一次对密码加密的渗透

原来是 rs.modulus 和 rs.exponent 没有读取到数据,所以程序到这块就跑不了了

0x03 分析

根据前面文件的提示,该加密方式应该是rsa加密,rsa的话他的公钥肯定是能获取到的,不然是做不了加密的操作

我们来重新抓包看看整个流程

记一次对密码加密的渗透

果然在发送登录请求的一开始就会有一个GET请求去访问服务来获取秘钥,我们把对应的参数都拿下来放到代码中

记一次对密码加密的渗透记一次对密码加密的渗透

重启启动服务,再次测试

记一次对密码加密的渗透

记一次对密码加密的渗透

到这里我们就可以愉快的开始爆破了!

知识星球

记一次对密码加密的渗透

高质量安全知识星球社区,致力于漏洞挖掘,渗透技巧,安全资料,星球承诺会持续更新0/1/NDay及对应的批量利用工具,团队内部漏洞库,内外网攻防技巧,你所需要的各类安全工具和资料以及团队师傅们最新的学习研究成果。分享行业内最新动态,解答交流各类技术问题。涉及方向包括Web渗透、免杀绕过、红蓝攻防、代码审计、应急响应、安全培训、CTF、小白入门、职业规划和疑难解答。CatalyzeSec,安全技术水平的催化者,星球针对成员的技术问题,快速提供思考方向及解决方案,并为星友提供多种方向的学习资料、安全工具、POC&EXP以及各种学习笔记等,以引导者和催化剂的方式助力安全技术水平的提升。我们是一个快速成长的team,团队的发展方向与每一位星友的学习方向密切相关,加入我们,一起成为更好的自己!PS:随着星球内知识的积累,人员的增加,星球价格也会随之增加,前一百位加入我们的师傅可享受99元朋友价!

记一次对密码加密的渗透

团队内部独家知识库

记一次对密码加密的渗透

原文始发于微信公众号(CatalyzeSec):记一次对密码加密的渗透

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月30日17:25:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次对密码加密的渗透https://cn-sec.com/archives/2795781.html

发表评论

匿名网友 填写信息