好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 IvenLuck 于 2019-12-31 22:55 编辑
1.选择目标站点:http://www.scjxjypx.com/
2.进行登录,并抓取数据包
火狐浏览器按F12然后输入账号密码,点登录,可以看到抓了很多数据包
登录
可以看到,第一条请求的请求文件名中含有login的字样(查字典可知大意是:登录有效检查),其次该请求还是post方式,so。。。。。他最有嫌疑是登录请求的数据包,我们点看看看
3.观察提交的参数
登录参数
嗯。。。。。
差不了了,这就是登录请求
4.观察此次请求的响应
登录响应
嗯。。。。。
登录成功返回的状态是status:success,我们也确实登录成功了,再次验证这就是登录请求
5.再观察此次请求的cookie
登录cookie
嗯。。。。
我们发现此次请求有些响应的cookie,这好办,但是怎么还附带了请求cookie?这是哪里来的?
6.问题来了,观察登录过程,我们发现两个问题:①密码是怎么加密的?②请求的cookie是什么时候被设置的(因为我们发现提交的参数中含有cookie中的字符,这一定是在登录前就被设置到本地的,可是,是哪里来的呢。。。)
7.先解决登录密码加密的问题吧
我们退出登录,然后审查元素,看这个登录按钮被点击之后都做了什么
登录按钮分析
开启审查元素功能(就他,就这个大箭头指的小箭头)
审查元素
选中登录按钮,点击
审查登录按钮
我们发现这个登录按钮有些事件,点开看看
登录按钮事件
嗯。。。。。
就一个,比预期少,嘿嘿~~
click事件
点击箭头指的那个会拐弯的箭头,我们看看具体代码
完了说了,先点开前边的三角号,简单看下代码
click1
嗯。。。。
就这个了,看到前边的蓝色正方向和三角形组合奇怪按钮没?(点前边的行号就能在这行下断点了,你不知道什么是断点?自己百度去)
下好断点后,我们去点登录按钮
click2
看到没?我们已经遏制住登录执行的流程了,接下来按F11(单步运行),找关键代码(啥是关键代码?等下,我给你看)。。。。。
流程走到这里,发现有个检查用户的函数(嗯。。。),F11跟进去
click3
如果你接触过css你就会知道,这是在获取你输入的账号密码的,并且有个很关键的字眼MD5,再看他处理过的账号密码,有没有很熟悉?
click4
再往下看。。。
click5
嗯。。。。
ajax?这不就是JS中的异步请求吗?
url: "/loginValid?t="+new Date().getTime(), ? 这不就是我们刚刚分析的登录请求的url吗?
这样的话。。。。。
我明白了,密码确实是用MD5进行加密的,并且还需要转成大写字母
找个在线MD5加密的网站,进行验证:
密码加密验证
验证完毕,确实100%只是对密码进行了MD5加密
再回头看登录请求的数据:
click6
就差那个什么ID还不知道了,分析暂时告一段落,要想知晓后事如何,且听下回分析
下回分析来了来了~~~
既然哪个什么id是我们登陆之前就存在本地的,那我们开个隐私窗口,从头抓一下请求(诺,就这样打开隐私窗口)
隐私窗口
然后在地址栏输入(粘贴)进去网址
粘贴网址
好了,开发者工具也已经打开就绪了,来吧,狠狠的敲下你的回车(坏了不赔啊)
最开始的请求
嗯。。。。和我想的一样,果然出现了一万个请求。我们顺着这些请求慢慢往下看,你会看到第一个类型为HTML的请求,点开头,响应就是主页面,但是
主页面
这个请求返回的页面竟然没有登录部分。。。。诡异,我们接着往下在类型是HTML的请求。。。。
登录的HTML
原来你在这里,我们看下源码,被渲染过的花里胡哨的页面往往会遮盖掉很多对我们有用的信息
登录的源码
嗯。。。。有点多,我们大致看下,你会发现一个叫form的标签(这他妈不就是表单吗?得好好看看)
登录表单
请求方式是post,其中有个标签,名字是input,type是隐藏,id就是那个什么id,value竟然就是那个神秘的数字151,我去原来是写死的啊。。。。
再看下边,什么username,password完全就是登录请求的参数啊,攻城狮你确定这么省劲好吗?也不弄个js好歹把登录请求部分藏一下啊,哈哈哈~~
到此为止,登录所需要的所有参数都已经分析完毕,你会了吗?
接下来就可以用代码来实现传说中的协议登录了(协议?这不就是个爬虫最近本的功能吗?被传得神乎其神)
如果你觉得有用就投个币吧
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|