欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

metinfo多个漏洞(可getshell)

来源:本站转载 作者:佚名 时间:2014-02-11 TAG: 我要投稿

 1、审计代码我一般喜欢先看核心文件。

 
Download download.txt
 
define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
isset($_REQUEST['GLOBALS']) && exit('Access Error');
require_once ROOTPATH.'include/global.func.php';
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$_key{0} != '_' && $$_key = daddslashes($_value);
}
}
include\common.inc.php 大概从21行开始程序使用了伪register_globals机制,
程序判断了key的第一个字符是不是“_”来避免覆盖系统全局变量,以及使用自定义函数daddslashes来避免注入。
 
Download download.txt
 
function daddslashes($string, $force = 0,$metinfo) {
global $met_sqlinsert;
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = daddslashes($val, $force);
}
} else {
$string = addslashes($string);
}
}
if(!is_array($string)){
$string_old = $string;
$string = str_ireplace("\"","/",$string);
$string = str_ireplace("'","/",$string);
$string = str_ireplace("*","/",$string);
$string = str_ireplace("~","/",$string);
$string = str_ireplace("select", "\sel\ect", $string);
$string = str_ireplace("insert", "\ins\ert", $string);
$string = str_ireplace("update", "\up\date", $string);
$string = str_ireplace("delete", "\de\lete", $string);
$string = str_ireplace("union", "\un\ion", $string);
$string = str_ireplace("into", "\in\to", $string);
$string = str_ireplace("load_file", "\load\_\file", $string);
$string = str_ireplace("outfile", "\out\file", $string);
$string_html=$string;
$string = strip_tags($string);
if($string_html!=$string){
$string='';
}
$string = str_replace("%", "\%", $string);     //  
/*
if(strlen($string_html)!=strlen($string)){
$reurl="http://".$_SERVER["HTTP_HOST"];
echo("<script type='text/javascript'> alert('Submitted information is not legal!'); location.href='$reurl'; </script>");
die("Parameter Error!");
}
*/
if(strlen($string_old)!=strlen($string)&&$met_sqlinsert){
$reurl="http://".$_SERVER["HTTP_HOST"];
echo("<script type='text/javascript'> alert('Submitted information is not legal!'); location.href='$reurl'; </script>");
die("Parameter Error!");
}
$string = trim($string);
}
if($id!=""){

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载