实验吧-web-天下武功唯快不破(Python中byte和str的转换)
2024-08-31 08:40:35
题目:看看响应头
打开网站,既然已经提示我们看响应头了,那我们就看看呗(习惯bp,也可直接F12查看)
可以看到,响应头部分有个FLAG,而且有提示:please post what you find with parameter:key
所以就将FLAG解码后post,解码之后是:P0ST_THIS_T0_CH4NGE_FL4G:omiFOwSfc
所以post:key=omiFOwSfc
这样再转码,再POST,发现是个死循环,FLAG是随机随机生成的,不管post多少次都拿不到我们要提交的flag。
于是上脚本
#coding:utf-8
import requests
import base64
url = 'http://ctf5.shiyanbar.com/web/10/10.php'
s = requests.Session()
r = s.get(url) #打开网页
head = r.headers #获取http头
f = base64.b64decode(head['flag'])
flag = str(f,encoding='utf-8').split(':')[1]
print(flag)
key = {'key':flag}
result = s.post(url,data=key).text
print(result)
也提一下flag = str(f,encoding='utf-8').split(':')[1],这里base64.b64decode()后得到的是byte类型的数据,所以在split时要转成str类型的,下面是两者的转换
# str to bytes
bytes(s, encoding = "utf8") # bytes to str
str(b, encoding = "utf-8")
最新文章
- 【MongoDB for Java】Java操作MongoDB
- MSMQ创建消息队列出现“工作组安装计算机不支持该操作”
- UVALive 7302 (最短路)
- Sprint1(11.20)
- sonarqube  安装配置
- MVC 基础知识
- IOS 开发中判断NSString是否为空字符
- 264分析两大利器:264VISA和Elecard StreamEye Tools
- Android 用MediaCodec实现视频硬解码(转)
- 王立平--Unity综上所述控制
- QConf简要搭建过程
- [luogu P3801] 红色的幻想乡 [线段树][树状数组]
- Wrong FS: hdfs://......, expected: file:///
- 《深入理解Bootstrap》读书笔记(一)
- 活代码LINQ——05
- A1141. PAT Ranking of Institutions
- springboot更换日志系统
- 利用useragent判断移动设备
- Steam API调试
- jquery ajax 中实现给变量赋值