当前位置: 首页 > 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.jsqmd.com/news/66939/

相关文章:

  • 2025玻璃钢格栅生产企业TOP5权威推荐:耐腐蚀格栅选型指
  • 2025年中国高性价比护栏网品牌企业推荐:知名的护栏网公司有
  • 工业搪瓷管服务商TOP5权威测评指南:精准选型破解锅炉节能痛
  • 2025年小程序开发公司哪家靠谱,避坑指南+3家经实战验证的可靠服务商推荐:含抖音小程序/微型小程序/支付宝小程序多平台小程序开发公司推荐
  • 2025年中国竹结构优质生产商十大排名:竹结构创意定制与精品
  • 2025年五大值得选的净化板制造厂技术实力全解析
  • 2025年GEO 优化公司哪家口碑好?:最新报告与解析揭秘
  • 2025年行业知名 GEO 服务商有哪些?:十大权威报告推荐
  • xcode切换arc mrc
  • Quick Open Safe Combination Disk Dial Rotation Assistant – Save Time Effort for Auto Repair
  • 2025 年结婚喜糖推荐首选:为什么越来越多人把「旺仔牛奶糖」装进婚礼糖盒?
  • Android Studio 多语言助手插件:让多语言管理变得简单高效 - 教程
  • 2025年GEO 服务商怎么对比选择?:专业指南与报告必读
  • 2025年12月尼龙齿套厂家优质企业推荐榜,耐高温尼龙齿套、齿式联轴器尼龙齿套、增强型尼龙齿套、聚焦服务品质与产品竞争力深度剖析
  • 2025年十大铱金火花塞供应商推荐,实力强的铱金火花塞源头工
  • 2025年十大靠谱地磅厂家排行榜,知名诚信地磅厂家推荐
  • 2025年十大大型平口/方底/牛油袋制袋机厂家排行榜,专业设
  • 2025年全国知名 GEO 服务商排名:最新榜单深度解析
  • 水管连接处密封胶:性能、价格与耐用性深度对比
  • 使用pyenv-win管理多版本Python
  • 提升车辆安全:热门结构胶品牌深度解析
  • 2025年PPH缠绕储罐厂家权威推荐榜单:PPH反应罐‌/PPH储酸罐‌/PPH储酸罐‌‌源头厂家精选
  • 实用指南:JD京东线下HR面(准备)
  • 2025年杭州画室排行榜:个性化教学/高性价比/专业教材编写
  • 2025年GEO 服务商合作需要多少钱?:专业报告与攻略解析
  • 2025年靠谱的搪瓷管厂家排行榜,售后完善的服务商精选推荐
  • 2025年GEO 服务商实力排名前十:官方TOP10深度报告
  • Hall 定理
  • RS485在开断电发送乱码
  • 2025年国内有实力的益生菌厂家排行榜,优质益生菌厂家哪家服