做一个新手向的wp吧

题目是:刚加入Vidar的兔兔还认不清协会成员诶,学长要求的答对100次问题可太难了,你能帮兔兔写个脚本答题吗?

有三个接口,用bp抓包观察

当问题回答正确,会先用POST方法发送id=XXX的数据包(/api/verifyAnswer)

然后再GET /api/getScore和/api/getQuestion得到分数和新的问题

查看源代码,找到github上的成员信息,cv到一个代码的一个列表里,稍加修改写成列表里面每个元素是字典类型的形式(这里我的方法是删掉爆红的avatar值)

处理好,开始写脚本

import requests, json
  • requests:用来发送网络请求(获取题目、提交答案等)
  • json:用来处理服务器返回的JSON格式数据
session = requests.session()

cookies在不断变化,用requests.session()处理

def search(message):
for i in ans:
if i['intro'] == message:
return i['id']
  • 这个函数接收题目内容(message)
  • ans列表中查找intro(自我介绍)与题目匹配的条目
  • 返回匹配条目的id(人员ID)
for i in range(100):

100题就循环100次

req1 = session.get(url + '/api/getQuestion')
print(req1.text)
message = req1.json()['message']
  • 发送GET请求获取题目
  • print(req1.text)打印服务器返回的原始数据(用于调试)
  • 从返回的JSON数据中提取题目内容(message)
answer = search(message)
data = {"id": answer}
req2 = session.post(url + '/api/verifyAnswer',data=data)
print(req2.text)
  • 调用search函数,根据题目内容查找对应的答案
  • 准备要提交的数据({"id": 答案})
  • 发送POST请求提交答案
  • 打印服务器返回的结果
req3 = session.get(url + '/api/getScore')
score = req3.json()['message']
print(score)

[HGAME 2023 week1]Guess Who I Am的更多相关文章

  1. HGAME 2023 WP week1

    WEEK1 web Classic Childhood Game 一眼顶真,直接翻js文件,在Events.js中找到mota(),猜测是获取flag,var a = ['\x59\x55\x64\x ...

  2. HGAME 2020 week1 web

    1.Cosmos 的博客 知识点:git source code leak 2.接 头 霸 王 Description HGAME Re:Dive 开服啦~ 打开题目,提示了"头" ...

  3. [HGAME] Week1 Web WriteUp

    一 .Cosmos的博客 打开题目之后,首页直接给了我们提示: 版本管理工具常用的有git和svn两种,这里提示了GitHub,考虑Git信息泄露,先访问/.git/目录考虑用Githack获取泄露信 ...

  4. 个人博客作业Week1

    个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...

  5. Spark小课堂Week1 Hello Spark

    Spark小课堂Week1 Hello Spark 看到Spark这个词,你的第一印象是什么? 这是一朵"火花",官方的定义是Spark是一个高速的.通用的.分布式计算系统!!! ...

  6. Internet History, Technology and Security (Week1)

    Week1. History: Dawn of Electronic Computing War Time Computing and Conmmunication Keywords: Electro ...

  7. 1630/2023: [Usaco2005 Nov]Ant Counting 数蚂蚁

    2023: [Usaco2005 Nov]Ant Counting 数蚂蚁 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 85  Solved: 40[S ...

  8. Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)

    title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...

  9. mooc- 基本程序设计方法week1,week2

    学习了第一单元我们几本可以写出10行左右的代码. week1:python编程之基本方法 1.从计算机到程序设计语言: 理解计算机:计算机是能够根据一组指令操作数据的机器. 功能性:可以进行数据计算 ...

  10. 20165232 week1 kali安装

    20165232 Week1 kali安装 一.安装虚拟机 首先到kali官网下载64bit版本的kali(3.5G),这里我是从同学盘上拷过来的. 下载VMWARE 进入官网,找到如下图示 点击进行 ...

随机推荐

  1. Vertx 实现webapi实战项目(四)

    本节主要介绍使用消息解析和handler分发 一:定义一个常量类,储存消息id public class HandlerCode { /***** 测试接口 ******/ public static ...

  2. Vertx 实现webapi实战项目(一)

    关于Vertx的介绍在官方文档可以查看 https://vertx-china.github.io/docs/.网上也有许多介绍,这里就直接上项目. 一:使用idea搭建gradle项目.添加相关ve ...

  3. 使用GcExcel .NET将Excel导出为PDF

    使用GcExcel .NET将Excel导出为PDF 引言 在企业级应用开发中,经常需要将Excel数据导出为PDF格式以便于共享和打印.GrapeCity Documents for Excel(简 ...

  4. 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(13)

    1.问题描述: 推送通知里的skills标签有什么用?不填写似乎不影响推送,以及推送的点击跳转操作 解决方案: 鸿蒙系统的推送通知中的skills标签主要用于指定接收推送的应用程序所支持的能力(Ski ...

  5. layui上传文件choose只触发一次的解决方法

    环境:.net core + layui 场景:上传文件的时候需要先弹出一个层选择对应的条件传到上传方法里面做逻辑,发现layui.upload上传一次之后在不刷新页面的前提下不会执行choose方法 ...

  6. Rust修仙之道 第八章:意动境 · 闭包与迭代的灵动之道

    第八章:意动境 · 闭包与迭代的灵动之道 "他人需咏符念咒,我一念而动术:他人遍历千灵,我引灵自来去." 顾行云望着铺天盖地的灵纹数据,若要逐一施术,岂非精神耗尽?他开始思索:是否 ...

  7. 前端开发系列080-Node篇之cnpm

    本文输出Node中另一款包管理工具CNPM相关的内容,包括基本情况和简单使用. 一.简单介绍 CNPM是阿里的Node团队开发的一款NPM工具,由蚂蚁金服Node技术专家苏千(袁锋·Node技术专家) ...

  8. git代码合并

    首先更新到最新的代码. 把自己的代码cherrypick下来. 修改冲突提交

  9. raspberry ssh 允许 root 登录

    参考链接 csdn

  10. 企业IT部门在集成类项目中扮演的角色

    随着企业信息化建设的不断深入,集成类项目成为企业发展的重要支撑.这类项目涉及场景多.系统杂.实施牵扯广.周期长,对技术和管理的要求极高.企业IT部门(信息化部门)作为企业的技术核心和纽带,对业务需求. ...