bWAPP靶场之OS Command Injection(+Blind)

一、普通注入

0x00 练习过程
核心代码

<?php
    if(isset($_POST["target"]))
    {
        $target = $_POST["target"];
        if($target == "")
        {
            echo "<font color="red">Enter a domain name...</font>";
        }
        else
        {
            echo "<p align="left">" . shell_exec("nslookup  " . commandi($target)) . "</p>";
        }
    }
    ?> 

从代码中我们可以知道输入的targetshell_exec()函数中直接lookup然后输出
在这里插入图片描述
low等级不对输入的参数进行过滤,直接加就行
payload:www.nsa.gov;whoami
在这里插入图片描述
2.medium
;不行,查看源码可得
在这里插入图片描述
函数过滤了&,但是没有对|过滤
在这里插入图片描述
3.high
在这里插入图片描述
通过escapeshellcmd()函数对参数进行转义。
反斜线()会在以下字符之前插入: &#;`|*?~<>^()[]{}$, x0A 和 xFF。 ’ 和 " 仅在不配对儿的时候被转义。 在 Windows 平台上,所有这些字符以及 % 和 ! 字符都会被空格代替。

二、盲注

0x00 前言
原谅我太菜了,第一次听命令注入的盲注类型。。。
0x01 练习过程
1.low
只ping一个正常的ip地址,反应时长为130ms
在这里插入图片描述
拼接了其他正常命令的注入,用时140ms
在这里插入图片描述
拼接了其他不正常命令的注入,用时140ms

在这里插入图片描述
0x02 结语
盲注,就是注入后页面不会返回信息,但是可以根据其他地方的区别来判断是否注入成功,get it

你是这白开水一样淡的日子里偷偷加的一颗糖~~
原文地址:https://www.cnblogs.com/0nc3/p/12063468.html