标签 ‘PCH’ 下的日志

当magic_quotes_gpc=off

# 鬼仔注:文中有一个ECShop SQL injection 漏洞。
Pstzine0x03 里"[0x06] 高级PHP代码审核技术"一文中关于 "5.3.6 变量key与魔术引号" 部分的php源代码分析

author: ryat#www.wolvez.org
team:http://www.80vul.com
date:2009-04-10

一、综述

magic_quotes_gpc是php中的一个安全选项,在php manual中对此有如下描述:

When on, all ' (single-quote), " (double quote), \ (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does

关于magic_quotes_sybase

当php.ini设置magic_quotes_sybase为on时会覆盖magic_quotes_gpc为on的处理,然而magic_quotes_sybase仅仅是转义了nullbyte和把'变成了'' :)

author: ryat#wolvez.org
team:http://www.80vul.com
date:2009-04-14

一 描叙

magic_quotes_gpc为on时,php在注册变量时会调用addslashes()函数处理[既转义单引号、双引号、反斜线和nullbyte],但php.ini中还有另外一个选项影响着magic_quotes_gpc和addslashes()函数:当php.ini设置magic_quotes_sybase为on时会覆盖magic_quotes_gpc为on的处理,然而magic_quotes_sybase仅仅是转义了nullbyte和把'变成了''

mb_ereg(i)_replace()代码注射漏洞及其延伸出的正则应用安全问题

author: ryat#wolvez.org
team:http://www.80vul.com
date:2009-04-30

一 描叙

mb_ereg_replace()是支持多字节的正则表达式替换函数,函数原型如下:

string mb_ereg_replace ( string $pattern , string $replacement , string $string [, string $option= "msr" ] )

当指定mb_ereg(i)_replace()的option参数为e时,replacement参数[在适当的逆向引用替换完后]将作为php代码被执行,但php在处理这一过程中,存在安全隐患,可能导致绕过程序的逻辑执行任意代码,另外程序员对正则匹配替换认识不够[包括preg_replace等函数],容易饶过安全限制,导致安全漏洞.

preg_match(_all)的变量初始化问题

author: 80vul-B
team: http://www.80vul.com
date:2009-04-27

一 描叙

php手册里:
-----------------------------------------------------------------------------------------
int preg_match ( string pattern, string subject [, array matches [, int flags]] )

在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。
如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
-----------------------------------------------------------------------------------------