admin管理员组文章数量:1643170
从今天开始,准备写一系列的爬虫学习文章,仅仅面对初学者,大佬还请飘过。话不多说,直接开始干
目标网址:https://m.gojoy/pages/login/index?from=%2Fpages%2Fuser%2Findex
目的:模拟登陆
工具:Chrome浏览器,油猴插件
第一步:打开Chrome浏览器,地址栏输入网址,并按下F12,打开调试器,再按下回车,进行访问。
你会看到如下图的现象:
问:这是个反调试,怎么过?
答:设置条件断点,轻松过。
具体操作:在 3 这个 字数上面点击右键,选择 Add conditional breakpoint,然后输入 false,并回车。这样就设置了一个条件断点。
如下图:
:
这时,我们再按下 F5,让程序跑起来,这个障碍就已经过了。
随便输入一个用户名和密码,开始抓包:
分析得知,其登陆接口是:https://gmall.gojoy/user-service/user/login,并已post方式提交,如图:
这提交的参数,是一堆看不懂的密文, 不要担心,问题不大。
一般这种情况下,我会试着去全局搜索 username 和 password,但是查找后没看到有用的信息,就不叙述了。
我们来看这个接口是如何加载的:
点击上图中 headers 前面的 X,看到是以XHR的方式加载,如图
既然知道了这个,我们可以打 XHR断点,输入 相应的字串,进行HOOK,如图:
在打上 XHR断点后,我们点击 登陆 按钮,重新跑起来,断到这里:
点击 {} ,美化下代码:
美化后,看到 有个 l 参数,这个就是提交的参数。
在这里往上找,是看不到什么的。一般XHR断点,我们需要往堆栈里面看调用
一个一个的往上追(鼠标往下点),看他是怎么调用的。
当你点到 这里(anonymous)时,会看到这样的代码:
这里的a函数里面有个对象,对象里面包含了一些值,有经验的一眼就可以看出这些值是干嘛用的。我们在 a 上面打上断点,并取消 XHR 断点,再按下F5,让浏览器跑起来,发现已经跑完了,再次点击 登陆 按钮,停在这里:
在控制台上分别输入 t,g,f,c,l,看看分别是啥:
这里的t,g,c让我更加确信了,它的入口就在这里。
我们看看Q函数是干嘛的:
是个 native code,我们在上面双击,跟进去看看(一般而言,natvie code是跟不进去的)。来到了这里:
我们在这个 s 函数 return 的地方打上断点,并按下F5,发现已经跑完了,再次点击 登陆 按钮,停在了断点处:
控制台下看看是什么:
按下F5,切换至 Network面板,看看它提交得参数是啥:
将 控制台下面的字串 和提交的字串进行比较,看看是否一致:
这两个字串是一样的,说明就是这里。
至此,加密位置及函数已经找到,分析完毕。
这是一般的查找方法,比较繁琐,下面介绍一种比较简便的方法:
油猴插件 + 脚本。
注:该方法参考了 冷月大佬 的思路,其博客地址:https://lengyue.me/
请确保 浏览器已安装好 油猴插件 ,并可以正常使用。
新建脚本,输入如下内容:
保存后,打开该脚本:
重新进行登录,可以看到 控制台下 有了内容:
我们点击userscript.html?id=8d550422-40c1-4876-9186-3f63ba473547:18
再次进行登录,停到此处:
堆栈如下:
点击下面的 s,跟进去看看:
将下面的 滚动条往左拉,拉到最开始的位置:
这就是我们上面分析 的那个 加密函数 s。
一下就到这里了,是不是很快?
这篇就写到这里了,中间可能还是会遇到反调试,运行一下即可。
调试JS是个细功夫,需要极大的耐心、
版权声明:本文标题:爬虫入门之查找JS入口篇(一) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729351687a1198026.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论