|
漏洞作者: 我想拿个shell 提交时间: 2013-01-16
公开时间: 2013-01-21
漏洞类型: SQL注射漏洞
简要描述:
无意中看了一下phpcms的补丁,只想吐个槽。
另外PHPCMS发布了补丁为什么不可以在论坛感谢一下wooyun平台呢,漏洞是我在平台发的多少可以提一下吧,这也是行业的一贯作风啊?
详细说明:
public function add_special_char(&$value) {
if('*' == $value || false !== strpos($value, '(') || false !== strpos($value, '.') || false !== strpos ( $value, '`')) {
//不处理包含* 或者 使用了sql方法。
} else {
$value = '`'.trim($value).'`';
}
if (preg_match("/\b(select|insert|update|delete)\b/i", $value)) {
$value = preg_replace("/\b(select|insert|update|delete)\b/i", '', $value);
}
return $value;
}
漏洞证明:
将多个字符替换为空是不安全的。
seselectlect经过这个函数就会变成select,因为中间的select被替换为空了。
修复方案:
你再想想?
请在补丁发布页面感谢一下wooyun,在代码补丁处及补丁说明页面提供漏洞提交者信息是行业惯例。
|
|