宁稳网 登录破解
session验证码登录
- 网址: https://www.ninwin.cn/index.php?m=u&c=login
废话不多说,直接随便输入一个,右键,检查元素,网络,进行抓包
直接XHR 就行了,就是我们需要的包
很容易猜测这是 判断验证码是否正确,验证码不正确,是不会发送登录请求的
我们继续输入正确的验证码抓包,但是这里多了个csrf_token参数啊,我们后面再看
看到这里,哇!是不是很激动呀,直接明文,都没有加密,唯一问题就是这个csrf_token啊,值不确定
csrf_token 寻找
也很简单,我们首先搜一下页面元素,就能找到这个值
- 这里提一句,这个backurl 就是登录成功后的跳转地址
- 我们之前的基础哈,知道可以使用requests.session()来登录有验证码的登录接口
直接上代码
import requests
from lxml import etree
headers = {
"Origin": "https://www.ninwin.cn",
"Referer": "https://www.ninwin.cn/index.php?m=u&c=login",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
}
class ning():
session = requests.session()
def login(self):
# 打开网页获取csrf_token
url0 = 'https://www.ninwin.cn/index.php?m=u&c=login'
resp0 = self.session.get(url0,headers=headers)
tree = etree.HTML(resp0.text)
csrf_token = tree.xpath('//*[@id="J_u_login_form"]/input/@value'