欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

bugku速度要快writeup

程序员文章站 2022-05-15 11:35:31
...

查看源码
bugku速度要快writeup
在响应头找到flag属性,手动解码发现被Base64编码了两次
bugku速度要快writeup
先分别看GET和POST请求头和响应头

import requests
import base64 

url = 'http://120.24.86.145:8002/web6/'

get_response = requests.get(url)
print('GET Request Headers:\n', get_response.request.headers, '\n')
print('GET Response Headers:\n', get_response.headers, '\n')

key = base64.b64decode(base64.b64decode(get_response.headers['flag']).decode().split(":")[1])
post = {'margin': key}
post_responese = requests.post(url, data = post)
print('POST Request Headers:\n', post_responese.request.headers, '\n')
print('POST Response Headers:\n', post_responese.headers, '\n')

会发现两个的Set-Cookie和flag都不一样,所以要保证POST和GET在同一个会话中
贴脚本

  •  
  • bugku速度要快writeup

  • 没有加mid=mid.decode()那一步时一直报错;

  •  

    bugku速度要快writeup

    ——是因为字符串有byte类型和str类型,有时操作数类型和操作类型不匹配就会报错……这时候就要把类型转换一下(无论是转换操作数还是操作都行,只要两者匹配

    一个简单的方法:
      1、byte型转str型

              mid=mid.decode()

      2、str型转byte型

              mid=mid.encode()