寻找url地址的两种方法
1、在form表单中寻找action对应的url地址
post数据是input标签中name的值最为键,真正的用户名密码作为值的字典;
post的url地址就是action对应的url地址。
- 以人人网为例,未登录状态下:
Elements里的form表单,form里有一个action,即url地址,可通过Ctrl F搜索form
点击需要输入用户名密码的左侧窗口,Elements下两个input标签中有name对应的值,当进行表单提交时,找的是name对应的值,不是id class对应的值。name作为键,真正的用户名密码作为值的字典形式。把字典提交到action对应的地址里。如下图,键就是email,值就是真正的email(xxx.163.com)
此时发送post请求就会成功,成功之后对方的服务器会往我们本地的session设置cookie,下次再用这个session发送post请求就能成功了。
2、抓包
并不是所有的表单form都有action对应的url地址的。使用js发送post请求,拿到对应的响应,同时会设置cookie到本地,页面跳转,我们就能访问登录后的页面了。这种情况下应该怎么办?
-
Network,点击需要输入用户名密码的输入框,进行输入,在Network中查看是给哪个url地址发送了请求。
但是存在的一个问题是,输入用户名和密码后,页面就会跳转,跳转后就看不到Network当前页面的内容了。
解决方法之一:输入一个错误的密码。
解决方法之二:点击登录按钮后,勾选Network下Preserve log复选框,会看到跳转前的url地址,除此还需要数据,会看到在Name列表中home前面还有其他的内容,然后点击Headers,看最下方的form data,多登陆几次进行观察,form data中哪些数据是变化的,哪些是不变的。如果网页版的很多内容都在变化,尝试切换成手机版。
…参数不变时,直接用,例如密码不是动态加密的时候
…参数变化时,在当前的响应中;通过js生成的 -
定位想要的js的3种方法:
passwork每次都是被加密过的,加密后显示的结果都不一样 遇到看不懂的js,复制到console中查看返回的结果
- 1、点击会触发js的按钮,例如点击登录按钮,再去右侧的Event Listeners,找到js的位置
- 2、通过chrome中的search all file搜索url中的关键字
- 3、添加断点查看