php4
68%
2000-2007,No security fixes after 2008/08,最终版本是php4.4.9
php5
32%
2004-present,Now at version 5.2.6(PHP 5.3 alpha1 released!)
php6
目前还在测试阶段,变化很多做了大量的修改,取消了很多安全选项如magic_quotes_gpc(这个不是今天讨论的范围)
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
漏洞审计策略(parse_str)
PHP版本要求:无
系统要求:无
审计策略:查找字符parse_str
漏洞审计策略(mb_parse_str)
PHP版本要求:php4<4.4.7 php5<5.2.2
系统要求:无
审计策略:查找字符mb_parse_str
漏洞审计策略(import_request_variables)
PHP版本要求:php4<4.4.1 php5<5.2.2
系统要求:无
审计策略:查找字符import_request_variables
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
漏洞审计策略($_SERVER变量)
PHP版本要求:无
系统要求:无
审计策略:查找字符_SERVER
漏洞审计策略(getenv())
PHP版本要求:无
系统要求:无
审计策略:查找字符getenv
漏洞审计策略(数据流)
PHP版本要求:无
系统要求:无
审计策略:查找字符HTTP_RAW_POST_DATA或者php://input
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:查找数据库操作字符(select,update,insert等等)
base64_decode
对使用 MIME base64 编码的数据进行解码
base64_encode
使用 MIME base64 对数据进行编码
rawurldecode
对已编码的 URL 字符串进行解码
rawurlencode
按照 RFC 1738 对 URL 进行编码
urldecode
解码已编码的 URL 字符串
urlencode
编码 URL 字符串
…
…
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:查找对应的编码函数
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:查找字符串处理函数如substr或者通读代码
漏洞审计策略
PHP版本要求:php4和php<5.2.1
系统要求:无
审计策略:通读代码
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
assert()
call_user_func()
call_user_func_array()
create_function()
变量函数
…
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:查找对应函数(assert,call_user_func,call_user_func_array,create_function等)
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
漏洞审计策略
PHP版本要求:对应fix的版本
系统要求:
审计策略:查找对应函数名
漏洞审计策略
PHP版本要求:php4<4.3 php5<5.14
系统要求:无
审计策略:查找unset
漏洞审计策略
PHP版本要求:具体不详
系统要求:无
审计策略:查找session_destroy
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:查找rand
seed-A
mt_rand-A-1
mt_rand-A-2
mt_rand-A-3
seed-B
mt_rand-B-1
mt_rand-B-2
mt_rand-B-3
漏洞审计策略
PHP版本要求:php4 php5<5.2.6
系统要求:无
审计策略:查找mt_srand/mt_rand
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:通读代码
漏洞审计策略
PHP版本要求:无
系统要求:无
审计策略:文读取件操作函数
DEMO — Discuz! Reset User Password 0day Vulnerability 分析
(Exp:http://www.80vul.com/dzvul/sodb/14/sodb-2008-14.txt)
PHP版本要求:php4 php5<5.2.6
系统要求: 无
审计策略:查找mt_srand/mt_rand