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

2023-12-04 0 817

发布时间: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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 漏洞分析 Discuz!!论坛wap功能模块编码的注射漏洞分析 https://www.u-9.cn/security/fenxi/72574.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务