dvwa---命令注入

介绍一下什么是ping命令?

ping (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。

我个人认为:它是用来检查网络是否通畅或者网络连接速度的命令,ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络。
原理:向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话,会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在。

基础知识

&&符号,cmd1&&cmd2 意思为当cmd1执行成功以后才执行cmd2,否则不执行cmd2
&这个相当于命令分隔符,cmd1&cmd2 意思是不管cmd1执行成功与否,都执行cmd2
|这个在Linux术语叫做管道符,cmd1|cmd2意思是将cmd1的输出作为cmd2的输出,且只执行cmd2

DVWA 之命令注入(Command Injection)

解决乱码问题

1.可以看到我们这个dvwa网站的IP为127.0.0.1,我们就用它来进行测试。

2. 在输入IP后发现出现了乱码。

 3.需要在根目录中,在dvwa\includes目录下找到dvwaPage.inc.php文件中所有的”charset=utf-8”,修改”charset=gb2312”。

 4.然后就可以看得懂了。

low级别

1.查看源码,发现并没有对其进行过滤。

 2.输入127.0.0.1&&whoami试试。发现返回了当前用户的用户名。

 其中有命令

whoami:显示的是当前用户下的用户名。

who am i:显示的是登录时的用户名。

who:显示当前真正登录系统中的用户(不会显示那些用su命令切换用户的登录者)。

Medium级别

1.首先看一看源代码,发现有过滤,对&&和;进行过滤。

 2.可以用双写来绕过,比如我们可以构造这样一个命令连接符&;&,它只会过滤其中的分号,然后剩余的其他字符,又连接成为了&&,同样达到了目的,及使用127.0.0.1&;&whoami。发现没有问题。

 high级别

1.老样子先看源代码,发现过滤变更多了,没办法只能按要求来。

 2.代码对于管道符|后面加一个空格进行过滤,却没有对一个空格后面一个管道符’ |‘和单独的管道符’|'进行过滤,所以我们以此为突破口,可以进行注入127.0.0.1 |whoami。

 以上为命令注入的解决方法。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值