CTF---Web入门第十六题 天下武功唯快不破

时间:2022-05-07
本文章向大家介绍CTF---Web入门第十六题 天下武功唯快不破,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

天下武功唯快不破分值:10

  • 来源: 北邮天枢战队
  • 难度:易
  • 参与人数:10787人
  • Get Flag:2264人
  • 答题人数:3373人
  • 解题通过率:67%

看看响应头

格式:CTF{ }

解题链接: http://ctf5.shiyanbar.com/web/10/10.php

原题链接:http://www.shiyanbar.com/ctf/1854

【解题报告】

  这是我入门Web以来写的第十六题,打开解题链接,,发现页面中提示 :

There is no martial art is indefectible, while the fastest speed is the only way for long success.
>>>>>>----You must do it as fast as you can!----<<<<<<

查看网页源码 , 发现结尾处有一段注释 :

<!-- please post what you find with parameter:key -->

提示让我们查看"响应头" , 并将数据以POST的形式发送 :

在响应头中发现了KEY, 看起来像是一个Base64编码, 多次尝试后发现数据是随机生成的

尝试是用Chrome浏览器的PostMan插件进行Post方式提交 : (也可以利用其他的工具 : 火狐/自定义相应头是用nc进行提交/利用Python脚本)

但是并没有出现结果 , 又想到刚才的提示中提到 , 要尽可能得快速提交 , 因此开始写脚本 :

1 import requests
2 import base64
3 r = requests.post('http://ctf5.shiyanbar.com/web/10/10.php')
4 key = r.headers['FLAG']
5 flag = base64.b64decode(key).decode().split(':')[1]
6 para = {'key':flag}
7 r = requests.post('http://ctf5.shiyanbar.com/web/10/10.php',data = para)
8 print r.text

这样就拿下了flag的值!!!