WEB代码审计与渗透测试紫柒收集制作QQ:188159400WEB应用程序代码审计程序的两大根本:变量与函数漏洞现成的条件:A、可以控制的变量【一切输入都是有害的】B、变量到达有利用价值的函数[危险函数]【一切进入函数的变量是有害的】漏洞的利用效果取决于最终函数的功能变量进入什么样的函数就导致什么要的效果PHP应用程序代码审计为什么只是PHP
A、跨平台、应用广泛、复杂B、变量处理灵活[如变量覆盖、全局变量等]C、函数库巨大[导致漏洞类型多,既有通用的又有特有的]E、代码审计的思路是可以通用的变量预定义变量[常规外部提交的变量]GPC$_ENV/SERVER/SESSION$HTTP_RAW_POST_DATA等register_globals=on[未初始化的变量]PHP»4
20默认为off变量覆盖[未初始化及覆盖前定义的变量]如:extract()、遍历初始化变量、parse_str()等变量的传递与存储[中转的变量]存储于数据库、文件[如配置、缓存文件等]危险函数文件包含包含漏洞代码执行执行任意代码漏洞命令执行执行任意命令漏洞文件系统操作文件(目录)读写等漏洞数据库操作SQL注射漏洞数据显示XSS等客服端漏洞……什么样的函数导致什么样的漏洞
什么样的函数导致什么样的漏洞
更多的变量处理与危险函数《高级PHP应用程序漏洞审核技术》http://code
google
com/p/pasc2at/wiki/SimplifiedChinese代码审计的本质找漏洞==找对应变量与函数变量跟踪的过程通过变量找函数[正向跟踪变量]$id=$_GET[‘id’]$sid=$id…函数($sid)通过函数找变量[逆向跟踪变量]函数($sid)$sid=$id…$id=$_GET[‘id’]变量的传递与二次漏洞变量存储、提