常见WEB攻击之命令注入 您所在的位置:网站首页 命令执行常用函数 常见WEB攻击之命令注入

常见WEB攻击之命令注入

2023-07-26 00:37| 来源: 网络整理| 查看: 265

一、什么是命令注入

即 Command Injection。是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。

在Web应用中,有时候会用到一些命令执行的函数,如php中system、exec、shell_exec等,当对用户输入的命令没有进行限制或者过滤不严导致用户可以执行任意命令时,就会造成命令执行漏洞。

二、注入原理 命令注入0.jpg

黑客将构造好的命令发送给web服务器,服务器根据拼接命令执行注入的命令,最后讲结果显示给黑客。

三、命令注入实例

以DVWA为例,下面使用ping命令测试IP,正常输入一个IP或者域名会返回一个正常的返回结果。 当输入恶意构造的语句 www.baidu.com && netstat -an,会把后面的语句也给执行了:

执行结果:

命令注入1.jpg

PHP的常见命令执行函数: system(),exec(),shell_exec(),passthru()

1、system()

system — 执行外部程序,并且显示输出

常规用法:

命令注入2.jpg

使用PHP执行: php test1.php www.baidu.com

命令注入3.jpg 如果恶意攻击者输入以下命令,则会造成任意命令执行: php test1.php '|ls' 命令注入4.jpg 2、exec()

exec — 执行一个外部程序

命令注入5.jpg

3、shell_exec()

shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。

命令注入6.jpg

4、passthru()

passthru() 函数与 exec() 函数类似,执行外部程序并且显示原始输出。

命令注入写webshell:

Windows:

用^转义



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有