中科大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.安装浏览器驱动
建议直接看大佬文章(直接定位到安装浏览器驱动,大佬讲的很细,膜拜(23条消息) selenium用法详解【从入门到实战】【Python爬虫】【4万字】_Dream丶Killer的博客-CSDN博客_selenium详解
 

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

感谢观看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值