什么是命令注入漏洞

漏洞原因:

web应用程序有时需要调用一些系统命令的函数,如PHP中的system,exec,shell-exec等等,当用户能够控制这些函数中的参数时,就可以将恶意参系统命令拼接到正常命令中,从而造成命令注入攻击

漏洞形成需要同时满足以下三个条件:

  1. 使用了内部调用shell的函数(system,exec)
  2. 将外界传入的参数传递给内部调用shell的函数
  3. 参数中shell的元字符没有被转义

漏洞分类:

  1. 代码层过滤不严
  2. 系统的漏洞造成命令注入
  3. 调用第三方组件存在代码执行漏洞

漏洞危害:

  1. 继承web应用程序的权限去执行系统命令读写执行文件
  2. 反弹shell
  3. 控制整个网站甚至整个服务器
  4. 进一步内网渗透

漏洞对策:

  1. 选择不调用系统命令的实现方法
  2. 避免使用内部调用shell的函数
  3. 不将外界传入的字符串传递给命令行参数
  4. 使用安全的函数对传递给系统命令的参数进行转义
  5. 校验参数
  6. 将应用程序的权限降到最低
  7. 给web服务器系统及使用的中间件及时打上安全补丁

对策应当在web应用程序设计阶段就应确定下来,针对不同的功能实现阶段分别探讨安全对策

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值