web基础漏洞-系统命令注入

1、介绍

应用程序有时需要调用一些执行系统命令的函数,如在php中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击。

2、windows支持的管道符

  • | 直接执行后门的语句。例如ping 127.0.0.1|whoami
  • || 如果前面执行的语句执行出错,则执行后面的语句,前面的语句为假。例如ping 2||whoami
  • & 如果前面的语句为假则直接执行后面的语句,前面的语句可真可假,例如ping 127.0.0.1&whoami
  • && 如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句只能为真。例如ping 127.0.0.1&&whoami

3、linux支持的管道符

  • ; 执行完前面的语句再执行后面的。例如ping 127.0.0.1;whoami
  • | 显示后面语句的执行结果。例如ping 127.0.0.1|whoami
  • ||
  • &
  • &&

4、防护

  • 尽量不用使用命令执行函数
  • 严格检查,过滤敏感字符,以及黑白名单匹配
posted @ 2023-10-21 19:44  挖洞404  阅读(44)  评论(0编辑  收藏  举报