bugku web2利用PhantomJS解题
思路:
每隔几秒钟页面的公式就会刷新,傻傻的试了几次,发现手速还是不行
抓了抓network 也没有什么发现
静下来想了想,能不能让我们的pc自己计算出来并且提交呢?
答案是可以的!
简单的思路是:利用类似爬虫技术爬取页面,将页面中的公式爬取出来,爬出来公式经过计算后,填写到输入框中提交 获得flag。
所以我使用了PhantomJS+selenium 实现这一功能
代码贴上来:
import sys
import io
from selenium import webdriver
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8') #改变标准输出的默认编码
#建立Phantomjs浏览器对象,括号里是phantomjs.exe在你的电脑上的路径
browser = webdriver.PhantomJS('C:/phantomjs/bin/phantomjs.exe')
#ctf题页面
url = 'http://123.206.31.85:10002/'
# 访问题目页面
browser.get(url)
# 等待一定时间,让js脚本加载完毕
browser.implicitly_wait(5)
#识别数据公式
jisuan_text = browser.find_element_by_xpath("//body/p")
print(jisuan_text.text) #显示截取的公式文本信息
result=eval(jisuan_text.text[28:].strip())
print(result) #显示计算结果
#输入计算结果
username = browser.find_element_by_name('result')
username.send_keys(result)
#网页截图 截取输入结果过程图
browser.save_screenshot('bugku_jisuanqian.png')
#点击“提交”按钮
login_button = browser.find_element_by_xpath("//input[@type='submit']")
login_button.click()
#提交成功网页截图
browser.save_screenshot('bugkuctf_jisuanhou.png')
代码运行以后,自动将截取的成功图片保存,打开图片,flag立显!!!
程序自动爬取到页面公式并进行计算后填入到输入框中的过程快照:
程序自动提交计算结果后等到的flag快照:
本题使用了其他的方法进行解题,思路进行了一些更新,比较coder思维,毕竟为了解题嘛,开心就好!
正文到此结束
热门推荐
相关文章
该篇文章的评论功能已被站长关闭