3.2_js逆向学习笔记之dom事件与断点调试

实例网站:https://www.gm99.com/
目的:运用dom事件调试找到登录时的password的加密位置与方式

1、打开网站,输入相应的账号、密码、验证码。这里以账号:13511111111, 密码:123456 验证码:1111示例。F12抓包,如下图所示:
在这里插入图片描述
发现只有两个网络请求,一个是校验验证码的,另一个是重新请求图片验证码的,并没有登录的包,因此这里应该是先校验验证码,验证码输入正确才发送登录请求。因此后面的步骤都要输入正确的验证码。

2、输入正确的验证码,重新抓包,结果如下图所示:
在这里插入图片描述
找到正确的登录时的请求地址为:

https://passport.gm99.com/login/login3?callback=jQuery171001304440358984471_1609823153903&encrypt=1&uname=13111111111&
password=NYWRTnAL3qXi5CzFwp%252Buia7NjktabzsgXyctoV3mZ4Y0%252BH8cTUruvsIYg7i26ebon2y%252BSy7gMcpFU0V5leyiCFwnWBbBd0N9rgNLQDu1A9Xph6OoQXkh4rmXFOAFsSP5aTr7IW21sxRCzTDOwlgZ4a2HRcT8cna4x0uy723G5Io%253D&
remember=checked&
ckcode=yd8x&
_=1609827516361

发现该请求的请求方式是GET请求,password被加密放在查询字符串之中,接下来我们就要采用dom事件定位法来找到password的加密位置。

3、将开发这工具调到Elements选项卡,并且选中右侧的Event Listeners选项卡之中,并且审查元素登入按钮

如下图所示:
在这里插入图片描述
发现登入按钮有MSG_CLICK、MSG_EXPOSURE、click、error、load、scroll等事件,初步猜测登录对应的网络请求应该就在MSG_CLICK或者是click事件中。

4、点击click事件发现有上图几个click事件,依次remove(鼠标移动到该事件上会自动出现remove选项)相应的事件,点击网页上的登入按钮,发现只有在删除最后一个’a#login-btn.login-btn’的click事件,登录操作才会失效,因此确定登录的网络请求就在这个事件之中,因此打开这个事件的位置。如下图所示:
在这里插入图片描述
发现在4248行有个url就是校验验证码的url地址,猜测应该在这里做的应该就是发送校验验证码的url,于是在在4251行打个断点,单步执行,发现确实发送了校验验证码的请求,并在下面的函数中发现有password的存在。

并在password处打上断点。

如下图所示:

在这里插入图片描述
发现k.login()函数中传递了一个对象,包含了uname, password而且password还未加密,于是猜测这个函数就是发送登录请求的方法,因此找到k.login()的位置,打上断点如下图所示:在这里插入图片描述
继续单步调试,发现了在183行处,密码被加密了,因此判断这个位置就是加密password的位置。你也可以在函数g.encode()函数内部继续打上断点,找到具体的加密位置,这里都不在赘述

总结:在本例中也可以使用搜索password关键词来进行定位。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值