尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

中科大2022Hackergame--Xcaptcha思路及做法(含python代码)

中科大2022Hackergame--Xcaptcha思路及做法(含python代码)
📅 发布时间:2026/6/19 19:13:37

这是之前打CTF时期的随笔,原文在CSDN,CSDN网址-中科大2022Hackergame--Xcaptcha思路及做法(含python代码)
当时记录的主要原因是第一次把爬虫运用到实战中(新手就是爱记录),下面是正文。

代码及思路都是比较简单的,没有什么很复杂的东西

主要还记录自己学习过程,仅供参考,大佬勿喷,新手一个

刚刚开始看题目内容,还以为是简单的抓包改包就行,尝试了几次发现不行,想了一想还是用python脚本写比较稳妥

我这里是使用的python操纵浏览器操作,也没有使用requests包(因为比较菜,尝试了一下这种,发现就没法带着cookie和session直接进入题目,但是,新打开一个浏览器的时候可以通过token进入)

那就不说废话,上代码!!

**代码其实可以少很多,当初写的时候比较懒,不想去弄复杂的,所以有不少冗杂的代码 **

from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
#这是地址
url = ''
#这里是你自己的Token,在比赛平台可以复制
token = ''web = Chrome()web.get(url)
#键盘写入数据
web.find_element(By.XPATH, '/html/body/form/input[1]').send_keys(token)
#鼠标点击
web.find_element(By.XPATH, '/html/body/form/input[2]').click()
# time.sleep(1000)
web.find_element(By.XPATH, '/html/body/div/a').click()
#获取数据
element = web.find_element(By.XPATH,'/html/body/div/form/div[1]/label')
res = element.get_attribute("textContent")
list1 = []
list1 = res.split(" ")
num = list1[0].split("+")
for number in num:print(number)
number1=int(num[0])
number2=int(num[1])
ans = number1+number2
#写入数据label1
web.find_element(By.XPATH, '/html/body/div/form/div[1]/input').send_keys(ans)#2
element = web.find_element(By.XPATH,'/html/body/div/form/div[2]/label')
res = element.get_attribute("textContent")
list2 = []
list2 = res.split(" ")
num = list2[0].split("+")
for number in num:print(number)
number1=int(num[0])
number2=int(num[1])
ans = number1+number2
web.find_element(By.XPATH, '/html/body/div/form/div[2]/input').send_keys(ans)#3
element = web.find_element(By.XPATH,'/html/body/div/form/div[3]/label')
res = element.get_attribute("textContent")
list2 = []
list2 = res.split(" ")
num = list2[0].split("+")
for number in num:print(number)
number1=int(num[0])
number2=int(num[1])
ans = number1+number2
web.find_element(By.XPATH, '/html/body/div/form/div[3]/input').send_keys(ans)
web.find_element(By.XPATH, '/html/body/div/form/button').click()
#这里的sleep是方便有时间去复制flag
time.sleep(200)

上面的print可以删除的,只是在测试的时候,方便查看变量赋的对不对。

跑这段代码需要两个前提

就是要有pycharm(开个玩笑,其他的应该也可以)

    1.需要下载selenium库具体操作为:pycharm点文件(File)-- >设置(setting),然后点项目,其中的python 解释器,点加号下载这个就可以也可以pip install selenium去下载,可能会遇见要求升级pip那就升级一下在下载就OK!2.安装浏览器驱动

前置部分建议直接看大佬文章(直接定位到安装浏览器驱动,大佬讲的很细,膜拜)https://blog.csdn.net/qq_43965708/article/details/120658713

这些做完之后就可以直接跑代码了

感谢观看

相关新闻

  • 2025玻璃钢格栅生产企业TOP5权威推荐:耐腐蚀格栅选型指
  • 2025年中国高性价比护栏网品牌企业推荐:知名的护栏网公司有
  • 2025年12月尼龙齿套厂家优质企业推荐榜,耐高温尼龙齿套、齿式联轴器尼龙齿套、增强型尼龙齿套、聚焦服务品质与产品竞争力深度剖析

最新新闻

  • 本地部署Scout代码模型:轻量级编程助手实战指南
  • 中考100-200分想参军?淮南公办中专,学籍合规,参军升学两不误 - 我叫小周
  • 如何用3个技巧突破网盘下载瓶颈?开源工具LinkSwift实战指南
  • Clawdbot本地AI网关:绿联NAS上的数字员工部署指南
  • SPI通信协议深度解析:时序、错误处理与实战配置
  • TradingAgents-CN:可审计的金融AI Agent工程化部署指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号