writeup-FLAG 实验吧

题目如下
请输入 FLAG,下面的页面会告诉你 FLAG 是否正确
解题链接: http://ctf5.shiyanbar.com/qwctf/flag-checker.html

看了下打开的页面,发现一大串js代码。。。分析了一下发现a[0]给出了,然后可以一个个地推下去

于是把js代码保存在一个文本下面,写了个py代码来解

import re

content =open("C:/Users/Admin/Desktop/cod1.txt")
list_exp=content.read().split("&&")
flag=""
now=0
for k in range(0,43):
    #print(list_exp)
    for i in list_exp:
        if(i.count("a")==1):
            for w in range (1,255):
             replace_reg=re.compile(r'a\[\d{1,2}\]')
             num=replace_reg.findall(i)[0].strip('a[').strip(']')
             temp=replace_reg.sub(str(w),i)
             try:
              if(eval(temp)==1):
                 rep=re.compile(r'a\['+num+r'\]')
                 for l in range(0,len(list_exp)):
                     list_exp[l]=rep.sub(str(w),list_exp[l])
                 print(str(chr(w)+" "+num))
                 flag+=chr(w)
                 break
             except Exception as e:
                print(temp)
print(flag)
#for i in list_exp:
    #print(i)

解完后得到flag

flag{wh47_my5ter10us-do3s,the+phe45ant/c0nta1n}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值