天下武功唯快不破--速度要快

进入题目链接,查看源代码后看到了

意思就是利用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)
  1. 用到了 requests和base64模块
  2. decode()方法是将字节流返回解码后的字符串,用法为
    bytes.decode(encoding="utf-8", errors="strict")    >>>来自菜鸟教程
  3. split()方法是制定分割符,切片。字符可以看作一个list,所以使用split(':')方法后,字符串切片成:前后的两个list中的元素。因此split(':')[1],  [1]的含义就是取第二个元素
  4.  emmmm,已经说的很清楚了,如果想问为什么base64解码后,还需要decode()编码的话,因为python3 base64加解密过程中是字节

 BUGKU的速度要快,需要同一个session,其他的几乎一样

 

posted @ 2019-03-21 20:22  yunying  阅读(267)  评论(0编辑  收藏  举报