Discuz!对ForumWAP功能模块编码注入孔的分析

Discuz!对ForumWAP功能模块编码注入孔的分析
点评:发布时间: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。

发布时间: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,和'和'将成为两个字符。
可以成功地引入

试验方法
下列程序(方法)可能是攻击性的,仅用于安全研究和教学。

如果(定义('in_discuz ')){
退出('access否认);
}
定义('codetable_dir ',discuz_root。。 / / /包括表);
类中国{
var =;
VaR iconv_enabled美元= false;
VaR unicode_table美元=阵();
数组

sourcelang= >,
targetlang= >,
gbtounicode_table= > 'gb-unicode表,
big5tounicode_table= > 'big5-unicode表,
);

中国(sourcelang功能targetlang美元,美元,美元forcetable = false){
美元->配置{ 'sourcelang} =美元-> _lang($ sourcelang);
美元->配置{ 'targetlang} =美元-> _lang($ targetlang);
如果(!function_exists(rsquo;iconvrsquo;))美元->配置{ 'targetlang}!= big5prime ‘!forcetable美元){ $ forcetable){ '
美元-> iconv_enabled =真;
{人}
美元-> iconv_enabled = false;
美元-> OpenTable();
}
}
功能_lang(合LangCode){
langcode = strtoupper美元(美元langcode);
如果(substr(LangCode,0, 2)= = { ‘GBrsquo;)
返回‘GBKrsquo;;
} elseif(substr(LangCode,0, 3)= = { ‘BIGrsquo;)
返回big5prime ‘;
} elseif(substr(LangCode,0, 3)= = { ‘UTFrsquo;)
返回utf-8prime ‘;
} elseif(substr(LangCode,0, 3)= = { ‘unirsquo;)
返回unicodersquo ‘;
}
}

功能_hex2bin($ hexdata){
为($我= 0;$我< strlen($ hexdata);$我= 2){
bindata美元= CHR(hexdec(substr(hexdata美元美元,我,2)));
}
返回的bindata;
}
Chinese.class.php(UTF-8无法使用)
searchid = 22
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部