dvwa command injection

a这个就ping一个地址然后后面跟一些命令就能知道服务器的一些信息

例如 127.0.0.1&net user aaa/add 这样可以创建一个用户aaa

&&、&、||、| 这些可用作命令连接符使用 用户通过浏览器提交执行命令然后服务器这边就会执行

&& 用这个符号意味着 先执行前面的命令在执行后面的若第一条不执行第二条也不执行

& 不管第一条成功与否都执行第二条

| 只执行第二条

||第一条执行失败在执行第二条 第一条成功就不执行第二条

whoami 查询服务器当前用户 ipconfig 网卡那些七七八八的 dir 后面再跟个那个盘目录之类的可以看到这个盘里头某个特定文件的大小或者盘目录里头的东西七七八八的 ls 列出当前文件夹内容 sleep 5 用来看是否存在时间差检测是否存在漏洞 **cat/etc/shadow ** 这个是linux系统的影子文件

dvwa的low 这里头什么都没过滤直接码进去不管他 写什么都能执行

medium 这关吧&& ; 替换成了空格 但也能过 多打几个嘛 &&变成&&& 或者&;& (这样是吧;换成了空格然后帮了我们把这变成&&)

或者毕竟之过滤&& 那么&还是能运行的

High

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 '&'  => '', 
';' => '',

'| ' => '',

'-' => '',

'$' => '',

'(' => '',

')' => '',

'`' => '',

'||' => '',

好多都被过滤了 试一下用url编码 %20 =空格 %5c=\ %26=& %7c=| (用不了)

打好几个& 不行 好几个| ┗|`O′|┛ 嗷~~ 居然可以 nice

**impossible ** 这个是魔鬼没办法的根本过不去 动不动就显示无效ip

这关用了 stripslashes($target) 删除字符串的反斜杠 返回已剥离反斜杠的字符串

explode(”.”,$target) 这个直接把字符串打散成数组

explode(separator,string,limit) separator(必须,规定从哪开始分割) string(必须,需分割的字符串) limit(可选,规定返回的数组的数目)

is_nummeric($target) 检测 $target是否为数字挥着数字字符串

还加入了Anti-CSRF token 对参数ip进行严格限制 例如只有数字.数字.数字.数字. 的输入才会接收

那么完全不存在命令行注入了(╬▔皿▔)凸