js修改id的值_实战分析某雪登录加密参数,扣js算法

首先按一下我最爱的f12,选择网络 抓包

这里我使用到的账号

user: 111@qq.com

pass: 111111

点击登录后,通过分析 以下两个post包是关键

从中还加载了两个外部js,可能是加密包

bf35a4aa85a104806d0c3c46e6acacc5.png

①数据包1

先看一下提交的参数,可以看到是一个json,里面传递了两个参数

input_id 为固定参数

value 当前账号

a3c853a328e4c4a3ab2189332b8b5277.png

以下为返回值,返回值也是json,并且多出了一大堆的参数

c0086aa3c85f8bf3acd93d46e783b6c6.png

6f82e5e3302ce8390441dcbc63799c12.png

这里顶雷猜测,通过我以往的经验来看这个包的返回值绝对是吊毛程序员为了刁难我 想让我知难而退的小把戏

身为妮妮的男朋友岂能被此惊退?

97420743865724195d4530981284b2c0.png

咱们接着看第二个包

②数据包2

先看一下提交的参数,这里主要是

publicA clientEvidenceM1csrftoken sessionTimeout

00539e2244f56eb0401d16cc42df1f04.png

先到查看器搜索 hidden,看看有那些隐藏的组件

一搜就搜出了一大把,但是呢 只有csrftoken和sessionTimeout有值

8f6e91172c0e1a326041bbeb366ec467.png

其他的参数,在第一个包有,比如

那么现在就差publicA clientEvidenceM1这两个参数了

我们再看一下抓到的包,这里发起者是jquery,也就是说,不单单只是点击按钮就提交表单那么简单,js也参与了

8937ad929185aceab2bcf123b9967dd6.png

这里点击调试器,选择login.min.2BF9V.js

c607b941e886574b13919121ab3c80a2.png

点击进来就可以看到,这里js获取了全部输入的值

e0bf29d9e3652498b549ef0fec44b985.png

往下面翻,可以看到这里发起了ajax请求,是第一个包

在这里下段,然后点击登录调试一下看看

5d226dadc3aa9394124dfd076206a799.png

下好断点,直接输入账号密码点击登录,成功的在此处断点,然后再单步步过进行一步步的分析

第一次单步,直接跳转到了96行,继续往下分析

f48dad4d9445f386d1d9fc334ffea431.png

通过我先省略掉一些类似于以上操作的截图,直接跳到重点

通过几次单步后跳转到了这里,这里this.inputPublicA.val 修改某组件的值

this.srpClientCredentials.publicA.toString(16)

this.srpClientCredentials.clientEvidenceM1.toString(16)

727dedd64c68dad3f4fbf9257646fdd2.png

这里复制第一给被赋值的命名进行搜索,可以看到是获取了一个id为publicA的标签

ce3088f42487e0472a90a1e6ed81e93c.png

这里再到查看器搜索一下,可以看到正是那个被隐藏的表单标签,这里已经被赋值了

另一个 this.inputClientEvidenceM1.val 也是同样的 

7265506edb88ff9b6a13220669780631.png

这里再全局搜索一下srpClientCredentials

从97行开始,function(e) 参数e 为 请求包1 的返回值

0151d04bde05442054509253e88e1660.png

这里在102行进行了实例化srp6aRoutines.ClientSession然后返回给了srpClientSession

这里的ClientSession是在js/login/srp-client.min.2NkGE.js?v=1 里面

3bf5709e7590f7f96aef712a421c4faa.png

这里返回i.a e()函数

eba6fa0ca87fe49b2599c2094d170019.png

接着上面的搞

这里在102下段,进行调试

 t.srpClientSession = new srp6aRoutines.ClientSession(e.modulus, e.generator, e.hash_function, e.version, e.iterations, e.eligible_credential_upgrade, window.serverResourceUrl),

这里实例化主要是modulus参数与最后一个包

在第一个包的返回值里面

最后一个参数是动态引入一个js文件

eb8ada579dc779d5416411c064f88293.png

83eaaddbb0129c7fccae8e38dbdf7207.png

其他参数可以固定

9c0c88b57438dbd2713c7cdaf1213936.png

这里又将密码传递了进去,其余的参数都在第一个包

708587b70972498b237cc587878bd2b1.png

在104行返回了第二个包需要的参数  publicA  clientEvidenceM1

460115ced55f9ec2b1755e9cb83ec7db.png

既然已经算出当前的加密过程,再利用js扣出加密的代码

这里记得引用srp-client.min.2NkGE.js

还有js动态引入的0.srp6a-routines.worker.2Efyv.js

5e82563e49d143022ec2672cc37776a0.png

成功扣出登录的js加密算法!

搞渗透的时候是不是经常遇到这类加密就束手无策了呢?

这篇文章教你应对之策

如果觉得写的不错的话,记得关注本公众号《通过听觉入侵你》

你们的关注就是对我最大的支持

同时也是我写文章的动力

8bb4eaf388d83d934da5e780c798fbdb.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值