当前位置: 首页 > news >正文

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

这是之前打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

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

感谢观看

http://www.rkmt.cn/news/77479.html

相关文章:

  • 2025玻璃钢格栅生产企业TOP5权威推荐:耐腐蚀格栅选型指
  • 2025年中国高性价比护栏网品牌企业推荐:知名的护栏网公司有
  • 2025年12月尼龙齿套厂家优质企业推荐榜,耐高温尼龙齿套、齿式联轴器尼龙齿套、增强型尼龙齿套、聚焦服务品质与产品竞争力深度剖析
  • 2025年十大铱金火花塞供应商推荐,实力强的铱金火花塞源头工
  • 水管连接处密封胶:性能、价格与耐用性深度对比
  • 实用指南:JD京东线下HR面(准备)
  • Hall 定理
  • RS485在开断电发送乱码
  • 2025年靠谱的 GEO 服务商名单:十大测评精选必读
  • 2025年GEO 服务商服务内容有哪些?:权威榜单与攻略揭秘
  • 手写RPC框架
  • Java 8 函数式编程详解:从思想到实战
  • 2025年市场活动策划推荐及选择参考
  • Shell脚本实用技巧|运维必备的10个脚本
  • 2025年性价比高的 GEO 服务商有哪些?:权威精选测评推
  • 盘点2025年楼板搭建优质公司,口碑与实力并存,别墅现浇/现浇楼梯/现浇钢筋混凝土楼板/阁楼现浇/现浇搭建楼板搭建公司哪个好选哪家
  • 2025年铱金火花塞供应商推荐、火花塞源头工厂排名全解析
  • 2025年靠谱的打包机供应商推荐:五大实力强的纤维与油压打包
  • 哈尔滨律师事务所选哪家
  • 避免故障风险:工业机器人胶粘剂品牌比较与选择技巧
  • 哪些结构胶适合新能源电池组件粘接?多维度解析与行业方案参考
  • 2025年资质齐全的 GEO 公司有哪些?:权威榜单必读攻略
  • 2025年GEO 公司哪家服务响应快?:权威测评精选指南
  • 2025年12月4大TikTok代运营服务商哪家好?兔克出海实力领跑!
  • 2025年振动磨厂商权威推荐:杯式振动研磨机/盘式振动粉碎机/盘式振动磨源头厂家精选
  • 德事商务中心:一站式商务解决方案提供商
  • 2025年度南通靠谱餐厅装修企业、诚信店铺装修企业、靠谱办公
  • 2025年五大数字文化展馆设计公司排行榜,国创展览展示公司服
  • 2025年12月汽车/120W/家用/快充充电桩厂家推荐:五家实力企业优选清单
  • 如何用领歌打破协作僵局,让团队效率翻倍?