首页 > 系统服务 > 详细

Discuz!!论坛wap功能模块编码的注射漏洞分析

时间:2016-01-30 21:23:52      阅读:287      评论:0      收藏:0      [点我收藏+]
发布时间:2008-08-04
SBEUGID:SEBUGV2008083778
影响版本:
Discuz!4.0.0
Discuz!4.1.0
Discuz!5.0.0
Discuz!5.5.0
Discuz!6.0.0
Discuz!6.1.0
描述:
Discuz!论坛系统是一个采用 PHP 和 MySQL 等其他多种数据库构建的高效论坛解决方案。Discuz! 在代码质
量,运行效率,负载能力,安全等级,功能可操控性和权限严密性等方面都在广大用户中有良好的口碑
由于 PHP 对 多字节字符集的支持存在问题,在各种编码相互转换过程中,有可能引发程序溢出和程序错误
提交一个 ‘
转意成 \‘
然后转成gbk的,\和‘就变成两个字符了
‘就可以成功的引入 测试方法:
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用.风险自负! if(defined(‘IN_DISCUZ‘)) {
exit(‘Access Denied‘);
}
define(‘CODETABLE_DIR‘, DISCUZ_ROOT.‘./include/tables/‘);
class Chinese {
var $table = ‘‘;
var $iconv_enabled = false;
var $unicode_table = array();
var $config = array
(
‘SourceLang‘ => ‘‘,
‘TargetLang‘ => ‘‘,
‘GBtoUnicode_table‘ => ‘gb-unicode.table‘,
‘BIG5toUnicode_table‘ => ‘big5-unicode.table‘,
); function Chinese($SourceLang, $TargetLang, $ForceTable = FALSE) {
$this->config[‘SourceLang‘] = $this->_lang($SourceLang);
$this->config[‘TargetLang‘] = $this->_lang($TargetLang);
if(!function_exists(’iconv’) && $this->config[‘TargetLang‘] != ‘BIG5′ && !$ForceTable) {
$this->iconv_enabled = true;
} else {
$this->iconv_enabled = false;
$this->OpenTable();
}
}
function _lang($LangCode) {
$LangCode = strtoupper($LangCode);
if(substr($LangCode, 0, 2) == ‘GB’) {
return ‘GBK’;
} elseif(substr($LangCode, 0, 3) == ‘BIG’) {
return ‘BIG5′;
} elseif(substr($LangCode, 0, 3) == ‘UTF’) {
return ‘UTF-8′;
} elseif(substr($LangCode, 0, 3) == ‘UNI’) {
return ‘UNICODE’;
}
} function _hex2bin($hexdata) {
for($i=0; $i < strlen($hexdata); $i = 2) {
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
chinese.class.php (utf-8不能利用)
searchid=22

Discuz!!论坛wap功能模块编码的注射漏洞分析

原文:http://www.jb51.net/hack/5455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!