29. 命令执行漏洞

1、介绍命令执行漏洞
  • 应用程序有时候需要调用一些执行系统命令的函数,如PHP中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击
2、命令执行漏洞利用
  • 测试地址:http://127.0.0.1/1.php?ip=127.0.0.1
    • 页面1.php提供ping功能,当给参数IP输入127.0.0.1时,程序会执行ping127.0.0.1,然后将ping的结果返回到页面上
  • 如果将参数IP设置为127.0.0.1 | dir
    • 这里就会利用管道符 “|” 让系统执行了命令dir,造成命令执行
3、管道符介绍
3.1 Windows系统
  • | :直接执行后面的语句
  • || :如果前面执行的语句出错,则执行后面的语句,前面的语句只能为假
  • & :如果前面的语句为假则直接执行后面的语句,前面的语句可真可假
  • &&:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句只能为真
3.2 Linux系统
  • ; :执行完前面的语句再执行后面的
  • |:显示后面语句的执行结果
  • ||:当前面的语句执行出错时,执行后面的语句
  • & :如果前面的语句为假则直接执行后面的语句,前面的语句可真可假
  • &&:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句只能为真
4、修复建议
  • 尽量不要使用命令执行函数
  • 客户端提交的变量在进入执行命令函数前要做好过滤和检测
  • 在使用动态函数之前,确保使用的函数是制定的函数之一
  • 对PHP语言来说,不能完全控制的危险函数最好不要使用
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值