ipconfig 查看本地网络
net user 查看系统用户
dir "./" 查看当前用户
find "hello" ./text.txt 字符串查找
复合命令
echo hello & echo world 命令拼接&,依次执行拼接的命令
ipconfig | find "IPv4" 管道符|,前面命令的输出作为后面命令的输入
命令注入解析
1.调用可执行的系统命令的函数
WEB应用如何命令注入 2.函数或者函数参数可控
3. 拼接注入命令
PHP执行命令一点点的函数
system
exec
shell_exec
eval
<body>
<?php
if (isset($_GET['type']))
{
$type = $_GET['type']; /*从参数中获取type值*/
}
else
{
$type = 1;
}
switch($type)
{
case 1;
exec('ipconfig', $output, $status);
break;
case 2;
exec('net user', $output, $status);
break;
case 3;
exec('dir', $output, $status);
break;
}
foreach($output as $value) /*将命令执行的结果输出到响应页面*/
{
//编码转换
echo (mb_convent_encoding($value, "UTF-8", "GB2312"));
echo("<br />");
}
?>
</body>
<body>
<?php
if (isset ($_GET['url']))
{ $url = $_GET['url']; }
else
{ $url = "http://dun.163.com"; }
$cmd = 'curl -I "'. $url . '"'; //调用curl命令,获取url的响应头 “拼接curl命令”
exec($cmd, $output, $status); //执行系统命令 “执行curl命令”
echo "<b>". htmlspecialchare($url) . "</b>"
. " 的响应头如下:<br /><br />";
//输出命令执行结果
foreach($output as $value)
{
echo htmlspecialchars($value);
echo "<br/>";
}
?>
</body>
命令注入攻击过程
黑客构造命令提交给web应用程序 web应用程序提取黑客构造的命令并拼接到被执行的命令中 web应用程序将执行的命令结果输出到响应页面中