如果您对dedecmsSESSION变量覆盖导致SQL注入common.inc.php的解决感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于dedecmsSESSION变量覆
如果您对dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决的详细内容,我们还将为您解答php变量覆盖漏洞的相关问题,并且为您提供关于dede cms common.func.php helper函数问题、dedecms common.inc.php SESSION变量覆盖导致SQL注入、dedecms v5.1 WriteBookText() code injection vul注入漏洞、Dedecms V5.7 关于session的有价值信息。
本文目录一览:- dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决(php变量覆盖漏洞)
- dede cms common.func.php helper函数问题
- dedecms common.inc.php SESSION变量覆盖导致SQL注入
- dedecms v5.1 WriteBookText() code injection vul注入漏洞
- Dedecms V5.7 关于session
dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决(php变量覆盖漏洞)
dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决办法:
补丁文件:/include/common.inc.php
漏洞描述:dedecms的/plus/advancedsearch.php中,直接从SESSION[SESSION[sqlhash]获取值作为$query带入SQL查询,这个漏洞的利用前提是session.auto_start = 1即开始了自动SESSION会话,云盾团队在dedemcs的变量注册入口进行了通用统一防御,禁止SESSION变量的传入
dedecms SESSION变量覆盖导致SQL注入common.inc.php的解决办法
1、搜索如下代码(68行):
if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )
2、替换 68 行代码,替换代码如下:
if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#',$svar) )
修改前请备份好文件,将新的/include/common.inc.php 文件上传替换阿里云服务器上的即可解决此问题。
本文章网址:http://www.ppssdd.com/code/26918.html。转载请保留出处,谢谢合作!dede cms common.func.php helper函数问题
$_helpers = array();
function helper($helpers)
{//如果是数组,则进行递归操作
if (is_array($helpers))
{
foreach($helpers as $dede)
{
helper($dede);
}
return;
}
if (isset($_helpers[$helpers]))
{
continue;
}
if (file_exists(DEDEINC.''/helpers/''.$helpers.''.helper.php''))
{
include_once(DEDEINC.''/helpers/''.$helpers.''.helper.php'');
$_helpers[$helpers] = TRUE;
}
// 无法载入小助手
if ( ! isset($_helpers[$helpers]))
{
exit(''Unable to load the requested file: helpers/''.$helpers.''.helper.php'');
}
}
上面的函数把$_helpers定义为全局变量,在helper函数中直接只用,这种方式我印象中是不可以的,本地再次确认了一下,结果也是不可以的。应该在helper函数中通过global $_helpers;引入,或者最好是在函数中定义静态变量static $_helpers=array();更好吧。
dedecms common.inc.php SESSION变量覆盖导致SQL注入
sql注入common.inc.PHP的解决方法:
PHP
PHP中,直接从SESSION[SESSION[sqlhash]获取值作为$query带入SQL查询,这个漏洞的利用前提是session.auto_start = 1即开始了自动SESSION会话,云盾团队在dedemcs的变量注册入口进行了通用统一防御,禁止SESSION变量的传入
sql注入common.inc.PHP的解决方法
代码(68行):
0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )
代码如下:
0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#',$svar) )
文件,将新的/include/common.inc.PHP 文件上传替换阿里云服务器上的即可解决此问题。
dedecms v5.1 WriteBookText() code injection vul注入漏洞
\include\inc_bookfunctions.php
---------------------------------------------------
……
function WriteBookText($cid,$body)
{<span id="more-1944"></span>
global $cfg_cmspath,$cfg_basedir;
$ipath = $cfg_cmspath."/data/textdata";
$tpath = ceil($cid/5000);
if(!is_dir($cfg_basedir.$ipath)) MkdirAll($cfg_basedir.$ipath,$GLOBALS[''cfg_dir_purview'']);
if(!is_dir($cfg_basedir.$ipath.''/''.$tpath)) MkdirAll($cfg_basedir.$ipath.''/''.$tpath,$GLOBALS[''cfg_dir_purview'']);
$bookfile = $cfg_basedir.$ipath."/{$tpath}/bk{$cid}.php";
$body = "<"."?php\r\n".$body."\r\n?".">";
@$fp = fopen($bookfile,''w'');
@flock($fp);
@fwrite($fp,$body);
@fclose($fp);
<div id="qhide_185676" >}
</div>
—————————————————
\member\story_add_content_action.php
—————————————————
……
WriteBookText($arcID,addslashes($body));