WEB代码审计与渗透测试.ppt





《WEB代码审计与渗透测试.ppt》由会员分享,可在线阅读,更多相关《WEB代码审计与渗透测试.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WEB代码审计与渗透测试http:/WEB应用程序代码审计l程序的两大根本:变量与函数l漏洞现成的条件:A、可以控制的变量【一切输入都是有害的】B、变量到达有利用价值的函数危险函数【一切进入函数的变量是有害的】l漏洞的利用效果取决于最终最终函数的功能变量进入什么样的函数就导致什么要的效果PHP应用程序代码审计l为什么只是PHP?A、跨平台、应用广泛、复杂B、变量处理灵活如变量覆盖、全局变量等C、函数库巨大导致漏洞类型多,既有通用的又有特有的E、代码审计的思路是可以通用的变量变量l预定义变量常规外部提交的变量GPC$_ENV/SERVER/SESSION$HTTP_RAW_POST_DATA等l
2、register_globals=on未初始化的变量PHP4.20默认为offl变量覆盖未初始化及覆盖前定义的变量如:extract()、遍历初始化变量、遍历初始化变量、parse_str()等等l变量的传递与存储中转的变量存储于数据库、文件如配置、缓存文件等危险函数l文件包含包含漏洞l代码执行执行任意代码漏洞l命令执行执行任意命令漏洞l文件系统操作文件(目录)读写等漏洞l数据库操作SQL注射漏洞l数据显示XSS等客服端漏洞l什么样的函数导致什么样的漏洞!更多的变量处理与危险函数高级高级PHP应用程序漏洞审核技术应用程序漏洞审核技术http:/ foreachforeach($_REQUEST
3、as$key=$($_REQUESTas$key=$valval)$key=$key=$valval;./覆盖覆盖$_$_SERVER“ConfigFileSERVER“ConfigFile”,经过经过is_fileis_file()判断后进入判断后进入include()include()if(if(isset($_SERVERConfigFileisset($_SERVERConfigFile)&)&is_fileis_file($_SERVERConfigFile($_SERVERConfigFile)print!-using.$_print.n;.-.n;includeinclude$_
4、$_SERVERConfigFileSERVERConfigFile;但是但是is_fileis_file()是不支持远程文件的,所以到目前代码只是一个本地包含漏洞是不支持远程文件的,所以到目前代码只是一个本地包含漏洞phplist-2.10.4public_htmllistsadmincommonlibpagesimportcsv.phpphplist-2.10.4public_htmllistsadmincommonlibpagesimportcsv.php.if(!if(!isset($isset($GLOBALSassign_invalid_defaultGLOBALSassign_i
5、nvalid_default)$GLOBALSassign_invalid_defaultGLOBALSassign_invalid_default=$GLOBALSI18N-=$GLOBALSI18N-get(Invalidget(Invalid Email).number;Email).number;.register_shutdown_function(my_shutdownregister_shutdown_function(my_shutdown););require_oncerequire_once$GLOBALScoderootGLOBALScoderoot.structure.
6、phpstructure.php;单独看上面的代码是没有办法提交$GLOBALS$GLOBALS变量的!但是我们结合变量的!但是我们结合/phplist-/phplist-2.10.4public_htmllistsadminindex.php2.10.4public_htmllistsadminindex.php里的变量覆盖漏洞,我们就可以提交里的变量覆盖漏洞,我们就可以提交$GLOBALS$GLOBALS变量了,那么我们就可以控制变量了,那么我们就可以控制$GLOBALS“coderootGLOBALS“coderoot”实现远程包含Exp:/admin/index.php?_SERVER
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 代码 审计 渗透 测试

限制150内