1、命令注入的概念:命令指的是操作系统的命令,注入表示通过WEB程序在服务器上拼接系统命令。

 2、命令注入实战:

首先我们先打开DVWA,将安全级别调至为low级别,忘记了的可以参考之前的章节进行设置,然后我们去到Command Injection进行测试。

由图可知,这里让我们输入ip地址,我们输入127.0.0.1,咦,发现返回值与我们的系统ping命令返回很像,于是我们在cmd执行对比发现,的确是一样的。

这里有的人可能显示的是乱码,乱码解决办法:打开项目的目录:x://.../DVWA/dvwa/includes,打开dvwaPage.inc.php文件

把这里的utf-8 改为gb2312 ,保存一下便可,如下图:
 那么我们接着开始命令注入,还记得注入的三步骤吗?我们已经确定了第一个是调用了系统命令:

那么接着来做第二步,判断可控字段,判断函数可控还是参数可控,我们可以发现,ping和空格是固定的,ip地址可控,完成确定可控字段。

最后一步,确认注入的字段,下图蓝色部分为注入命令:127.0.0.1&&net user

结果发现,&&后面字段也被执行,至此注入漏洞确定:

 破解完low级别后,是不是很轻松呢?那么将级别调为中等吧,我们再次相同命令注入发现,页面报错为“未知错误 net”,那么windows下还有什么符号可以连接两条命令呢?其实一个&符号也可以连接。

输入127.0.0.1&net user后,我们命令注入成功,界面成功显示。

 我们接着来破解high级别的,尝试前面的命令都不可以了。那么还有其他命令可以连接呢?管道符(|),我们试着来注入下:127.0.0.1 |net user

我们发现第一个命令未执行,但是这不影响我们注入,因为我们的目的就是执行第二个命令,ok,这也被成功注入了,那么我们接着改为impossible级别。

这个级别我们发现对ip的写法的限制:

四种符号区别如下:

  下面是一些实战技巧,大家可以看下:

windows下:

linux下还支持单引号:

安全测试8_Web安全实战3(命令注入)的更多相关文章

  1. 安全测试8_Web安全实战2(暴力破解)

    1.暴力破解的概念 顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录.因为理论上来说,只要字典足够庞大,枚举总是能够成功的! 2.暴力破解的实战 在有了之 ...

  2. 安全测试8_Web安全实战1(DVWA部署)

    1.渗透神器的打造(火狐浏览器的打造) Firebug HackBar(渗透插件) Tamper Data(抓包.截包.改包等功能) Proxy Switcher(代理设置) 2.PHP环境安装(ph ...

  3. CTF—攻防练习之HTTP—命令注入

    主机:192.168.32.152 靶机:192.168.32.167 首先nmap,nikto -host,dirb 探测robots.txt目录下 在/nothing目录中,查看源码发现pass ...

  4. 安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)

    前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞. 1.SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库 ...

  5. commix 命令注入工具

    关于系统命令注入,可以参考这篇文章:命令攻击介绍 系统命令注入场景 在对企业进行安全测试时候,很少会发现系统注入漏洞.这是因为大部分情况下代码业务主要是数据操作.文件操作.逻辑处理和api接口调用等, ...

  6. Commix命令注入漏洞利用

    介绍 项目地址:https://github.com/stasinopoulos/commix Commix是一个使用Python开发的漏洞测试工具,这个工具是为了方便的检测一个请求是否存在命令注入漏 ...

  7. PHP命令注入笔记

    一.PHP命令注入介绍 在学习php相关的攻击时,遇到了Command Injection,即命令注入攻击,是指这样一种攻击手段,黑客通过把HTML代码输入一个输入机制(例如缺乏有效验证限制的表格域) ...

  8. DVWA系列精品教程:2、命令注入

    文章更新于:2020-04-11 注:如何搭建环境参见:搭建DVWA Web渗透测试靶场 DVWA之命令注入漏洞 一.介绍 1.1.官方说明 1.2.总结 二.命令注入实践 2.1.安全级别:LOW ...

  9. CVE-2020-15778 OpenSSH命令注入漏洞复现

    一.漏洞概要 OpenSSH 8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令.目前绝大多数linux系统受影响. 参考链接:https://githu ...

随机推荐

  1. redis String结构

    1. 设置c的过期时间为100s 2. psetex的单位为毫秒 10000毫秒 3. getrange 获得字符的范围 4. getset 先获得旧的值,然后设置新的值 5. 设置多个值 6. 获得 ...

  2. mysql show master status为空值

    问题 执行show master status,输出结果为空: mysql> show master status; Empty set (0.00 sec) 原因 mysql没有开启日志. 查 ...

  3. Shell中怎么获取当前日期和时间

    转载自:https://zhidao.baidu.com/question/627912810044012524.html 获得当天的日期 [root@master ~]# date +%Y-%m-% ...

  4. Linux命令之shutdown

    shutdown命令安全地将系统关机. 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的.因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失 ...

  5. Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)成功烧录方法

    问题: Arduino:1.6.3 (Windows 7), 板:"Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)" Sketch ...

  6. CentOS 7.4 初次手记:第四章 CentOS安全了解

    第四章 CentOS安全了解... 66 第一节 user.group.chmod. 66 I 10位文件属性... 66 II user/group增删改... 67 III user/group配 ...

  7. vue 导出excel 多个sheet

    npm install -save xlsx //下载依赖包 import Vue from 'vue'; import XLSX from 'xlsx'; /** * 导出数据报表xlsx文件 * ...

  8. [蓝桥杯ALGO-53.算法训练_最小乘积(基本型)

    问题描述 给两组数,各n个. 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小.要求程序输出这个最小值. 例如两组数分别为: -5和- 那么对应乘积取和的最小值应为: (-) ...

  9. ribbon的注解使用报错--No instances available for [IP]

    使用RestTemplate类调用其他系统的url的时候,加上ribbon的注解@LoadBalanced上这个注解之后访问,就报错了. 报错如下: 因为这里你不能直接访问地址,需要把地址改成你所调用 ...

  10. 【ThreadLocal】使用ThreadLocal实现线程安全

    非线程安全 public class UnSafeThreadLocalDemo { private int count = 0; public static void main(String[] a ...