这里直接就是打开了哪里的代码进行审计,就不做什么别的解释了,有很多是没有用的但是确实是我一点点审计过去的
<?php
ob_start();
function get_hash(){
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';
//下面随机生成字符串从上面那里面挑
$random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];
//Random 5 times,随机生成五个那啥
$content = uniqid().$random;//uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。
return sha1($content);
}
header("Content-Type: text/html;charset=utf-8");
***
if(isset($_POST['
']) and $_POST['username'] != '' )//判断
{
$admin = '6d0bc1';//2020666,2305004,9162671
if ( $admin == substr(md5($_POST['password']),0,6)) {//截取的MD5的数值刚好是上面的
echo "<script>alert('[+] Welcome to manage system')</script>";
$file_shtml = "public/".get_hash().".shtml";
$shtml = fopen($file_shtml, "w") or die("Unable to open file!");
$text = '
***
***
<h1>Hello,'.$_POST['username'].'</h1>
***
***';
fwrite($shtml,$text);
fclose($shtml);
***
echo "[!] Header error ...";
} else {
echo "<script>alert('[!] Failed')</script>";
}else
{**//其实这里的重点就是一个我们传入password的前六位,之后进入到一个ssl的远程代码执行**
***
}
***
?>
开始是代码审计username随便输上一个,之后发现到一个ssl的远程命令执行漏洞,
我们直接执行,构造命令
我们就可以直接进去到目标里面了(在url里面直接访问)