网站大量收购闲置独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WEB代码审计与渗透测试要点

web审计与web渗透测试 dx.yutian.cc /cddxyy/ / /sydxbyy/ /lndxbyy/ /zzjhdxbyy dx.yutian.cc/ /cccfdxbyy/7682.html /cccfdxbyy/ /kmdxbyy/ /ncdxbyy/ /shanxdxyy/ /kmdxbyy/ /hfdxyy/ 3 3 4 3 /m /yiyuan_bjjh/ WEB应用程序代码审计 程序的两大根本:变量与函数 漏洞现成的条件: A、可以控制的变量 【一切输入都是有害的 】 B、变量到达有利用价值的函数[危险函数] 【一切进入函数的变量是有害的】 漏洞的利用效果取决于最终函数的功能 变量进入什么样的函数就导致什么要的效果 像int char double String boolean偶只知道这些了; PHP应用程序代码审计 为什么只是PHP? A、跨平台、应用广泛、复杂 B、变量处理灵活[如变量覆盖、全局变量等] E、代码审计的思路是可以通用的 C、函数库巨大 [导致漏洞类型多,既有通用的又有特有的] 其实我还是没有理解什么是代码审计呀~ 变量 预定义变量[常规外部提交的变量] 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 代码审计的本质 找漏洞==找对应变量与函数 变量跟踪的过程 通过函数找变量[逆向跟踪变量] 函数($sid)? $sid=$id?…? $id=$_GET[‘id’] 通过变量找函数[正向跟踪变量] $id=$_GET[‘id’]?$sid=$id?…?函数($sid) 变量的传递与二次漏洞 中间函数处理的过程诞生新的变量,新的变量达到新的漏洞函数?诞生新的漏洞[二次漏洞] 变量存储、提取、传递是一个复杂的立体的过程 过程中经过多个不一样的函数的处理后继续传递,最终达到漏洞函数 传递的过程中任意环节可控就可能导致漏洞 二次漏洞 什么是二次漏洞? 2006年提出的一个概念 主导思想:通过一个现有漏洞,创造新的漏洞使得漏洞利用最大化 一个demo ?php //vul.php?file=tt.php unlink($_GET[‘file’]); ? 一个典型的文件删除漏洞 [注意:include与require的区别] 二次漏洞 又一个demo 然而: include($file[‘filepath’]); 一个貌似不可以直接控制的新变量$file[‘filepath’]进入了危险函数include() ?id=1 union select 1,’/shell.txt’,1,1 当然我们没有那个注射漏洞,只要我们对数据库有控制权限一样可以通过update、insert控制$file[‘filepath’]。 一个注射漏洞 $sql= select id,filepath,user,name from attachment where fileid=$_GET[‘id’]”; $result = mysql_db_query($dbname, $sql); $file=mysql_fetch_array($result); 一个实例: phplist-2.10.4[old ver]远程包含漏洞 //覆盖$_SERVER[“ConfigFile”],经过is_file()判断后进入include() if (isset($_SERVER[ConfigFile]) is_file($_SERVER[ConfigFile])) { print !-- using .$_SERVER[ConfigFile].--.\n; inclu

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档