题目描述:
题目显示如下图所示,提醒“You must do it as fast as you can!”。
考点:Python脚本
题目解析:
1.尝试SQL注入都无反应,接着查看源代码,发现一个提示信息:
<!-- please post what you find with parameter:key -->
2.根据题目内容,试图将网页链接速度放慢,这里可以采Burp Suite抓包,Proxy的intercept载入网页,并将抓到的信息发到repeater中Go一下,会发现一个FLAG值。另一种方法,Chrome浏览器审查网络状态。
3.在响应头中发现了FLAG,看起来像是一个Base64编码,尝试在线解码。
但是该值每次生成的值是随机的。
FLAG: UDBTVF9USElTX1QwX0NINE5HRV9GTDRHOnZhbmRmQXp1Zg==
解码:P0ST_THIS_T0_CH4NGE_FL4G:vandfAzuf
FLAG: UDBTVF9USElTX1QwX0NINE5HRV9GTDRHOktsSVBLWmVkOQ==
解码:P0ST_THIS_T0_CH4NGE_FL4G:KlIPKZed9
4.回想之前的注释(please post what you find with parameter:key)以及解密后的FLAG值,需要快速提交POST,故采用Python脚本实现。哈哈,又回到熟悉的语言。
# -*- coding: utf8 -*-import requestsimport base64 url = 'http://ctf5.shiyanbar.com/web/10/10.php's = requests.session()response = s.get(url)#获取FLAG值#FLAG: UDBTVF9USElTX1QwX0NINE5HRV9GTDRHOnZhbmRmQXp1Zg==head = response.headersflag = base64.b64decode(head['FLAG']).split(':')[1]print(flag)#设置POST请求pdata = {'key': flag}result = s.post(url=url, data=pdata)print(result.text) #响应
5.运行得到如下结果。
正确结果:Flag: CTF{eastmount}