- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WEB应用程序代码审计程序的两大根本:变量与函数漏洞现成的条件: 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应用程序漏洞审核技术》/p/pasc2at/wiki/SimplifiedChinese代码审计的本质找漏洞==找对应变量与函数 变量跟踪的过程通过变量找函数[正向跟踪变量] $id=$_GET[‘id’]?$sid=$id?…?函数($sid)通过函数找变量[逆向跟踪变量] 函数($sid)? $sid=$id?…? $id=$_GET[‘id’]变量的传递与二次漏洞变量存储、提取、传递是一个复杂的立体的过程过程中经过多个不一样的函数的处理后继续传递,最终达到漏洞函数传递的过程中任意环节可控就可能导致漏洞中间函数处理的过程诞生新的变量,新的变量达到新的漏洞函数?诞生新的漏洞[二次漏洞]二次漏洞什么是二次漏洞? 2006年提出的一个概念 主导思想:通过一个现有漏洞,创造新的漏洞使得漏洞利用最大化一个demo?php//vul.php?file=tt.phpunlink($_GET[‘file’]);?一个典型的文件删除漏洞[注意:include与require的区别]二次漏洞又一个demo一个注射漏洞$sql= select id,filepath,user,name from attachment where fileid=$_GET[‘id’]”; $result = mysql_db_query($dbname, $sql);$file=mysql_fetch_array($result); 然而:include($file[‘filepath’]);一个貌似不可以直接控制的新变量$file[‘filepath’]进入了危险函数include()?id=1 union select 1,’/shell.txt’,1,1当然我们没有那个注射漏洞,只要我们对数据库有控制权限一样可以通过update、insert控制$file[‘filepath’]。一个实例:phplist-2.10.4[old ver]远程包含漏洞//phplist-2.10.4\public_html\lists\admin\index.phpif (!ini_get(register_globals) || ini_get(register_globals) == off) {//经典的变量覆盖漏洞模式 foreach ($_REQUEST as $key = $val) { $$key = $val; }}//覆盖$_SERVER[“ConfigFile”],经过is_file()判断后进入include()if (isset($_SERVER[ConfigFile]) is_file($_SERVER[ConfigFile])) { print !-- using .$_SERVER[ConfigFile].--.\n; include $_SERVER[ConfigFile];但是is_file()是不支持远程文件的,所以到目前代码只是一个本地包含漏洞\\phplist-2.10.4\public_html\lists\admin\commonlib\pages\importcsv.phpif (!isset($GLOBALS[assign_invalid_default])) $GLOBALS[assign_invalid_default] = $GLOBALS[I18N]-get(Invalid Email). [number];register_shu
有哪些信誉好的足球投注网站
文档评论(0)