初入Python,看到很多大佬都是通过写脚本的方式获取到FLAG,因为抓到的包的response里falg一直会变。这里呈上大佬的Python脚本。顺便学习,把函数的用法记下,方便日后自己的学习。
#coding:utf-8
import requests #引入模板
import base64
s =requests.Session() #记录session
headers =s.get("http://123.206.87.240:8002/web6/").headers #获取HTTP头文件
str1 = base64.b64decode(headers['flag']) #以BASE64解码头文件中的flag
str2 = base64.b64decode(repr(str1).split(':')[1]) #以:为分割,取:后面的字符串解码
data= {'margin':str2} #把解码的字符串赋给margin
flag = s.post("http://123.206.87.240:8002/web6/",data=data) #应题目,把marginpost
print(flag.text) #获得flag
python repr()函数是将对象转化为供解释器读取的形式。
python split()函数语法str.split(str="",num=string.count(str))[n]参数说明:
str:表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:表示选取第n个分片