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

浅谈PHP安全规范

发布时间:2018-10-14 12:35:28 所属栏目:评论 来源:littlepotato
导读:副标题#e# 【新品产上线啦】51CTO播客,随时随地,碎片化学习 一、前言 php因天生支持web应用的开发,以其简单易学,开发效率高而备受喜爱。使其占据了大片的市

(4) Impossible level

  1. <?php  
  2.  
  3. // The page we wish to display  
  4. $file = $_GET[ 'page' ];  
  5.  
  6. // Only allow include.php or file{1..3}.php  
  7. if( $file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php" ) {  
  8.     // This isn't the page we want!  
  9.     echo "ERROR: File not found!";  
  10.     exit;  
  11. }  
  12.  
  13. ?> 

这是相当的白名单,你赢了。但是想要文件量巨大的场景中维护这么一张白名单有点不太理智,所以笔者这种硬编码的方式不太常用。

6. Upload file

上传漏洞经常可以用来上传任意代码泄露系统信息,如,甚至可以直接上传webshell,拿下服务器权限,所以这个漏洞是十分严重的。

(1) Low level

  1. <?php  
  2.  
  3. if( isset( $_POST[ 'Upload' ] ) ) {  
  4.     // Where are we going to be writing to?  
  5.     $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";  
  6.     $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );  
  7.  
  8.     // Can we move the file to the upload folder?  
  9.     if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {  
  10.         // No  
  11.         echo '<pre>Your image was not uploaded.</pre>';  
  12.     }  
  13.     else {  
  14.         // Yes!  
  15.         echo "<pre>{$target_path} succesfully uploaded!</pre>";  
  16.     }  
  17. }  
  18.  
  19. ?> 

可以看到上面的代码对用户上传的文件($_FILE全局数组的形式)没有进行任何的验证操作,就直接将其move到了upload目录,这是相当危险的操作,攻击者可以毫无忌惮的随意日。

(编辑:成都站长网)

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

热点阅读