[翻译]php安全之谜.pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[翻译]php安全之谜.pdf

php 安全之谜(PHP Undergroud Security) -[作者信息 ] 标题: PHP Undergroud Security 作者: Omnipresent 邮箱: omnipresent@email.it - omni@ 主页: - 日期: 2007-04-12 -[译者信息 ] 译者:riusksk(泉哥) 邮箱:riusksk@ 主页: 日期:2008-11-15 -[摘要 ] 0x00:前言 0x01:关注全局变量 [*]修补 0x02:文件包含 [*]修补 0x03:跨站脚本 0x04:SQL注入 \_ 0x04a:绕过登陆验证 \_ 0x04b:1 Query? No.. 2 one!(译注:不好翻译,还是保留原文吧!) [*]修补 0x05:文件遍历 [*]修补 0x05:结论 [0x00:前言] 大家好!首先对我糟糕的英语表示抱歉,因为它不是我的母语. 在本教程中,我将会向大家介绍一些主要的php漏洞,以及如何发现、利用并修补它! [/] [0x01: 关注全局变量] 在php中,你并不一定需要声明变量(这对程序员来说确实是件好事),当你必须使用它时 它会“自动”创建的。你可能认为这是件不错的事,确实如此,但这只是偶而发生的事情。 众所周之,PHP经常要获取用户的输入值,并对其进行处理。假如我们在使用一个未声明 过的变量时,就可能会引发web程序的安全问题。例如下面一段代码: [...] if ($is_admin == 1){ //Yes, Im theadmin so call theAdministration Pannel [...] } else { //No, Im nottheadmin [...] } 上面的变量$is_admin,我们在使用前并未声明过,那么我们是否可以绕过该变量(在 bugged.php文件中)而访问未经授权的管理面板呢?答案是肯定,但我们该如何添加管 理认证权限呢?其实很简单,比如: http://remote_host/bugged.php?is_admin=1 [修补 ] 如何修补该漏洞呢?这很容易:在if语句前声明变量$is_admin即可,代码如下: $is_admin = 0; [...] if ($is_admin == 1){ //Yes, Im theadmin so call theAdministration Pannel(为真,则说明 是管理员,因此被重定向管理界面) [...] } else { //No, Im nottheadmin(为假,则不是管理员) [...] } [/] [0x02:文件包含] [本地文件包含] PHP是种杰出的语言,强大而简单;但是如果你不想在你的代码中出现安全问题,那么你 就必须注意一下你的代码了。 在一些情况下,使用动态包含文件(部分路径名存在某个变量中)确实是件好事。让我们看 一下下面的代码: ?php include /users/.$include_path..php; [...] ? 变量$include_path 在使用前并未进行任何声明,因此攻击者可以在该变量中输入恶意数 据,使其包含其它文件(比如/etc/passwd..)。 用户通过修改URL中的$include_path变量值可以很容易浏览其它文件。例如: http://remote_host/bugged.php?include_path=../../../../etc/passwd%00 包含后的结果如下: ?php include /users/../../../../etc/passwd%00.php [...] ? 因此攻击者可以窃取到存在服务器上的所有密码。 - [注意 ] - %00是一个NULL字符,用于“删除”PHP文件扩展名。如果省略掉NULL,将只会显示PHP 文件的内容,因为包含文件的扩展名是PHP(include /users/.$include_path..PHP) [远程文件包

文档评论(0)

wangshirufeng + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档