初入Python,看到很多大佬都是通过写脚本的方式获取到FLAG,因为抓到的包的response里falg一直会变。这里呈上大佬的Python脚本。顺便学习,把函数的用法记下,方便日后自己的学习。
pyjin1 #!/usr/bin/env python3 blacklist = ["/","0","1","2","3","4","5","6","7","8","9","setattr","compile","globals","os","import","_","breakpoint","exit","lambda","eval","exec","read","print","open","'","=",'"',"x","builtins","clear"] print("="*25) print(open(file).read()) print("="*25) print("Welcome to the jail!") print("="*25)
for i in range(2): x = input('Enter command: ') for c in blacklist: if c in x: print("Blacklisted word found! Exiting!") exit(0) exec(x) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 黑名单过滤的差不多了,尝试help()函数命令执行也没成功。
再次观察发现给了两次执行命令的机会,而且黑名单中没有过滤blacklist,说明可以对黑名单列表进行操作。
因为这里=被过滤了,没办法赋值,而且clear也被过滤了。
所以使用del直接删除blacklist里的内容,但是注意不能直接删除整个列表
del blacklist[:] print(open("flag.txt").read()
神秘的宴会
在一个神秘的地方,两位主持人正主持这宴会,随着时间的推移,宴会也迎来了高潮 一男一女两位主持人对大家说消失的文本名就在某个人的身上且文本名是(他的桌号加他的位置号的md5值) #例E5的md5为 f9f2d672039ed5d04839b769ad71e1b0 所以消失的文本名为 f9f2d672039ed5d04839b769ad71e1b0.txt
宴会共有13个人 你能找到ta吗
以知桌号只有男主持知道,位置号只有女主持人知道 两个主持人的对话如下: 女主持人说:我不知道是谁 男主持人说:我知道你不知道是谁 女主持人说:现在我知道是谁了 男主持人说:我也知道是谁了
首先女主持不知道是谁,可以推测出座位号是2 5 6 8其中之一 然后男主持说他知道女主持不知道是谁,意思就是他知道的桌号上面的位置号都在2 5 6 8中,即都是重复出现过的号码,说明是B或C桌 然后女主持就知道是谁了,说明是B或C桌中没有多次出现的号码,排除2号 最后男主持也知道是谁了,说明答案是C6
7e8b9f5cab4a8fe24fad9fe4b7452702.txt
注意到flag.zip中有一个Themissingtextnameishere.zip,而且加密算法是ZipCrypto Store ,应该是明文attack,自己找一个文件zip压缩一下可以发现文件名的位置是固定的,所以偏移为30
#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个分片
标签:BUGKU,主持人,blacklist,字符串,flag,print,知道 From: https://blog.51cto.com/u_15854462/7201611