天下武功唯快不破--速度要快
进入题目链接,查看源代码后看到了
意思就是利用POST方法快速提交呗,F12,看一下Response,看到了BASE64编码过的FLAG字段,刷新一次都会改变headers FLAG里的内容,所以要提交快噢
因此写个PY脚本来POST提交,得到flag
#天下武功唯快不破 import requests import base64 response= requests.get('http://ctf5.shiyanbar.com/web/10/10.php') key = response.headers['FLAG'] flag = base64.b64decode(key).decode('utf-8').split(':')[1] key={'key':flag} text0=requests.post('http://ctf5.shiyanbar.com/web/10/10.php',data=key) print(text0.text)
- 用到了 requests和base64模块
- decode()方法是将字节流返回解码后的字符串,用法为
bytes.decode(encoding="utf-8", errors="strict") >>>来自菜鸟教程
- split()方法是制定分割符,切片。字符可以看作一个list,所以使用split(':')方法后,字符串切片成:前后的两个list中的元素。因此split(':')[1], [1]的含义就是取第二个元素
- emmmm,已经说的很清楚了,如果想问为什么base64解码后,还需要decode()编码的话,因为python3 base64加解密过程中是字节
BUGKU的速度要快,需要同一个session,其他的几乎一样