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,我们就用它来进行测试。

dvwa---命令注入_第1张图片

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

dvwa---命令注入_第2张图片

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

dvwa---命令注入_第3张图片

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

dvwa---命令注入_第4张图片

low级别

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

dvwa---命令注入_第5张图片

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

dvwa---命令注入_第6张图片

 其中有命令

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

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

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

Medium级别

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

dvwa---命令注入_第7张图片

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

dvwa---命令注入_第8张图片

 high级别

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

dvwa---命令注入_第9张图片

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

dvwa---命令注入_第10张图片

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

你可能感兴趣的:(网络)