速度要快bugku!wp

第一次正式写博客记录学习啦

这是一道bugku平台的一道web题,今天距上一次写CTF题差不多有两个月了,抱歉!走了一趟写策划书的开发路线(发现自己真语言组织能力太low,而且也没啥开发经验,就像写作文一样次次都是写着文档走创意赛,,,),打算回归我的CTF正常轨道,希望还能赶上之前的朋友们进度,为自己鼓励!!!!

屁话太多,会被打,言归正题

首先这题是一周前写的,今天重做了一遍

打开网站,常规操作F12看下源码,查看网站头信息

在这里插入图片描述

幸运发现flag字眼,base64加密
base64解密
试了下,GG,被骗了!!!! 多次刷新flag最后那部分都会变,没那么简单,,,
上网看了别人写的博客,借鉴他们代码,速度要快可能就这题目提示吧!


代码贴上:

import requests
import base64

url = "http://123.206.87.240:8002/web6/"
r = requests.Session()
headers = r.get(url).headers

str1 = base64.b64decode(headers['flag'])
#str1 = str1.decode() //防止下行代码split函数出错
#str2 = base64.b64decode(str1.split(':')[1])
str2 = base64.b64decode(repr(str1).split(':')[1]) # repr()函数将对象转化为供解释器读取的形式(Bety->str)

data = {'margin':str2}
print (r.post(url,data).text)

得到flag值:KEY{111dd62fcd377076be18a}

附加:

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

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

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

      str1 = str1.decode()

2、str型转byte型

      str1 = str1.encode()

后来发现另一篇博客用repr函数解决了上述问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值