雷池waf 逆向

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
逆向分析

部分python代码

复制代码
cp = execjs.compile(open('waf.js','r',encoding='utf-8').read())
result = cp.call('getResult', data)
print(result)
url = "/challenge/v2/api/verify"
data = {
    "issue_id": issue_id,
    "result": result,
    "serials": [],
    "client": {
        "visitorId": "",
    }
}
headers = {
    "Accept": "*/*",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "cross-site",
}
data = json.dumps(data, separators=(',', ':'))
response = session.post(url, headers=headers, data=data)

jwt = response.json()['data']['jwt']
session.cookies.set("sl-challenge-jwt", jwt)
url = "/notice/"
response = session.get(url, headers=headers)

print(response.text)
print(response.cookies)
print(response.status_code)
复制代码
cp = execjs.compile(open('waf.js','r',encoding='utf-8').read())
result = cp.call('getResult', data)
print(result)
url = "/challenge/v2/api/verify"
data = {
    "issue_id": issue_id,
    "result": result,
    "serials": [],
    "client": {
        "visitorId": "",
    }
}
headers = {
    "Accept": "*/*",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "cross-site",
}
data = json.dumps(data, separators=(',', ':'))
response = session.post(url, headers=headers, data=data)

jwt = response.json()['data']['jwt']
session.cookies.set("sl-challenge-jwt", jwt)
url = "/notice/"
response = session.get(url, headers=headers)

print(response.text)
print(response.cookies)
print(response.status_code)

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

相关推荐
蒸蒸yyyyzwd1 小时前
cpp对象模型学习笔记1.1-2.8
java·笔记·学习
睡美人的小仙女1272 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
程序员徐师兄2 小时前
Windows JDK11 下载安装教程,适合新手
java·windows·jdk11 下载安装·jdk11 下载教程
fanruitian2 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
rayufo2 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk2 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
缺点内向3 小时前
C#编程实战:如何为Word文档添加背景色或背景图片
开发语言·c#·自动化·word·.net
五岳3 小时前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts
一起养小猫3 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
zhougl9963 小时前
Java 所有关键字及规范分类
java·开发语言