陈公子的话 发表于 2020-12-1 22:47:01

学习通查分 python

记录一下,今天用python写了s网课,东西不难。重新写一遍 参数抓包找了挺久。
基本功能已经实现但是还有很多需要完善的地方 过段时间整理一下分享⑧。

突然想起来梦总的这个网站,就来看看。。

抓包基于cookie加密







想扣js....想了想自己的水平算了⑧   

换个思路 基于cookies加密如果将cookies直接固定呢?试了下果然可行! 测试不存在cookies失效问题


首先第一个提交的数据“csrf”,源码 每次刷新得到一个新的csrf,这个csrf可以带着固定的cookies去进行获取

如图1post中第二三个 参数,多抓几次包不难发现 两个的值是固定的,CTRL+F 搜索一下 , 在js文件中 都是基于cookies进行计算获得的,cookies固定这两个值直接固定就好coures_url 和code分别是 我们传入的url和验证码 。






返回跳转的URL拼接一下即可


代码如下:
import requests
import re

ck_headers={
**************************
}

def Get_302url():
    #先获取源码中的csrf
    url = 'https://zyhzone.cn/xxt/score'
    res = requests.get(url=url,headers=ck_headers)
    print(res.text)
    #通过正则取csrf
    csrf = re.compile(r'csrf = "(.*?)"').findall(res.text)
    #填写course_url
    course_url = input('请填写正确的URL:')
    #vcode读写验证码
    get_code()
    vcode = input('请填写验证码:')
    real_url = 'https://zyhzone.cn/xxt/getscore'
    data={
      'csrf': csrf,
      'n': '***',
      'se_key':'***',
      'course_url':course_url,
      'vcode':vcode
    }
    res_real = requests.post(url=real_url,headers=ck_headers)
    print(res_real.text)

def get_code():
    url = 'https://zyhzone.cn/xxt/vcode?_=1606466986378'
    res = requests.get(url=url,headers=ck_headers)
    with open ('code.png','wb') as f:
      f.write(res.content)

if __name__== "__main__":
    Get_302url()








神器的诺言 发表于 2020-12-2 18:07:38

能说的再详细一些嘛 ?比如说ck_header要填入什么

陈公子的话 发表于 2020-12-8 14:03:21

神器的诺言 发表于 2020-12-2 18:07
能说的再详细一些嘛 ?比如说ck_header要填入什么

协议头....

王先生 发表于 2020-12-13 18:56:30

小陈 发表于 2020-12-8 14:03
协议头....

还是不知道是啥。。。。填了之后报错

猎什么空 发表于 2023-12-29 21:54:02

现在还能用吗
页: [1]
查看完整版本: 学习通查分 python