php漏洞书籍,PHP漏洞全解(一)-PHP网站的安全性问题

news/2024/5/15 22:47:59/文章来源:https://blog.csdn.net/weixin_36117191/article/details/116284940

8f3ff2fbfdd7c7c8339951a6542705fa.gif

845002618491765410.jpg (163.16 KB, 下载次数: 58)

2015-11-13 14:40 上传

针对PHP的网站主要存在下面几种攻击方式:

1、命令注入(Command Injection)

2、eval注入(Eval Injection)

3、客户端脚本攻击(Script Insertion)

4、跨网站脚本攻击(Cross Site Scripting, XSS)

5、sql注入攻击(SQL injection)

6、跨网站请求伪造攻击(Cross Site Request Forgeries, CSRF)

7、Session 会话劫持(Session Hijacking)

8、Session 固定攻击(Session Fixation)

9、HTTP响应拆分攻击(HTTP Response Splitting)

10、文件上传漏洞(File Upload Attack)

11、目录穿越漏洞(Directory Traversal)

12、远程文件包含攻击(Remote Inclusion)

13、动态函数注入攻击(Dynamic Variable Evaluation)

14、URL攻击(URL attack)

15、表单提交欺骗攻击(Spoofed Form Submissions)

16、HTTP请求欺骗攻击(Spoofed HTTP Requests)

以后的每期连载,会逐个介绍这些漏洞的原理和防御方法。

几个重要的php.ini选项:

RegisterGlobals

php>=4.2.0,php.ini的register_globals选项的默认值预设为Off,当register_globals

的设定为On时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于PHP不必事先初始化变量的值,从而导致很大的安全隐患。

例1:

//check_admin()用于检查当前用户权限,如果是admin设置$is_admin变量为true,然后下面判断此变量是否为true,然后执行管理的一些操作。//ex1.php

if(check_admin())

{

$is_admin=true;

}

if($is_admin)

{

do_something();

}

?>

这一段代码没有将$is_admin事先初始化为Flase,如果register_globals为On,那么我们直接提交http://www.ichunqiu.com/ex1.php?is_admin=true,就可以绕过check_admin()的验证:

[/hide]

例2:

//ex2.php

if(isset($_SESSION["username"]))

{

do_something();

}

else

{

echo"您尚未登录!";

}

?>

当register_globals=On时,我们提交=dodo]http://www.ichunqiu.com/ex2.php?_SESSION[username]=dodo,就具有了此用户的权限所以不管register_globals为什么,我们都要记住,对于任何传输的数据要经过仔细验证,变量要初始化。

safe_mode

解决方法

安全模式,PHP用来限制文档的存取、限制环境变量的存取,控制外部程序的执行。启用

安全模式必须设置php.ini中的safe_mode=On

1、限制文件存取

safe_mode_include_dir="/path1:/path2:/path3"

不同的文件夹用冒号隔开

2、限制环境变量的存取

safe_mode_allowed_env_vars=string

指定PHP程序可以改变的环境变量的前缀,如:safe_mode_allowed_env_vars=PHP_ ,当这个选项的值为空时,那么php可以改变任何环境变量

safe_mode_protected_env_vars=string用来指定php程序不可改变的环境变量的前缀。

3、限制外部程序的执行

safe_mode_exec_dir=string

此选项指定的文件夹路径影响system、exec、popen、passthru,不影响shell_exec和“``”。

disable_functions=string

不同的函数名称用逗号隔开,此选项不受安全模式影响。

magicquotes

用来让php程序的输入信息自动转义,所有的单引号(“'”),双引号(“"”),反斜杠(“\”)和空字符(NULL),都自动被加上反斜杠进行转义magic_quotes_gpc=On用来设置magicquotes为On,它会影响HTTP请求的数据(GET、POST、Cookies)程序员也可以使用addslashes来转义提交的HTTP 请求数据,或者用stripslashes 来删除转义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_712274.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博文视点大讲堂41期——SEO难点之网站内部链接结构 圆满成功

博文视点大讲堂41期——SEO难点之网站内部链接结构 圆满成功 2010年11月21日,电子工业出版社博文视点在中关村图书大厦五层如期举办了“博文视点大讲堂第41期:SEO难点之网站内部链接结构”,本次活动邀请经典畅销图书《网络营销实战密码》作者…

一步一步SharePoint 2007之十七:解决实现Form认证后无法再用SharePoint Designer编辑网站的问题...

值得提一下的是,或许Microsoft公司还没有考虑到实现Form认证后无法再用SharePoint Designer编辑网站的问题,所以这里讲到的方法并不是彻底的解决问题,而是用一个简单的方法巧妙的避开这个问题。希望SharePoint Designer正式版出来后&#xff…

说说大型高并发高负载网站的系统架构 (转)

By Michael转载请保留出处:俊麟 Michael’s blog (http://www.toplee.com/blog/?p71)Trackback Url : http://www.toplee.com/blog/wp-trackback.php?p71 我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又…

php网站mysql数据库导入工具_phpstudy通过phpMyAdmin导入mysql数据库方法

不是我们作品的用户,也可联系上面QQ提供有偿人工指导服务导入Mysql数据库只用导一次,以后项目出问题了,也不用操作数据库了。但是运行程序的时候一定保证phpstudy是启 动状态。1、a、把电脑上的杀毒软件必须先退出再下载安装。B 防火墙也尽量…

ASP.NET网站防止SQL注入攻击

目的: 对输入的字串长度,范围,格式和类型进行约束. 在开发 ASP.NET 程序时使用请求验证防止注入攻击. 使用 ASP.NET 验证控件进行输入验证. 对不安全的输出编码. 使用命令参数集模式防止注入攻击. 防止错误的详细信息被返回到客户端. 概述 : 你应该在程序中验证所有的不信任输入…

55个应用html5网站的最好例子

HTML5是新的和更新版本的Web标准和著名的HTML技术 。HTML5的新功能,技术和元素,让设计人员能够创建新的和美丽的东西。新标准结合了视频播放和拖和下降,此前一直依赖第三方浏览器,如Adobe Flash和微软Silverlight插件等功能。HTML…

沙发家具网站源码_小户型装修不会选家具?大湾网推荐你了解这些装修风格家具,装修省心空间大!...

原标题:小户型装修不会选家具?大湾网推荐你了解这些装修风格家具,装修省心空间大!家具与环境和谐统一,美式、中式、欧式、田园,风格迥异,大有不同,你到底适合什么样的装修风格?帮你…

https传输基于多ip实现的网站数据传输

一.https 简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细…

go语言和php哪个建站好,从0开始Go语言,用Golang搭建网站

实践是最好的学习方式零基础通过开发Web服务学习Go语言本文适合有一定编程基础,但是没有Go语言基础的同学。也就是俗称的“骗你”学Go语言系列。这是一个适合阅读的系列,我希望您能够在车上、厕所、餐厅都阅读它,涉及代码的部分也是精简而实用…

knewone最新分享购物网站模板

演示效果:http://www.erdangjiade.com/templates/390 效果图片: 转载于:https://www.cnblogs.com/66daima/p/7507679.html

Opera Unite如何架设自己的网站

1使用Opera的File Sharing可以共享你的文件 2使用Opera的Stream media可以共享你的视频,有些格式甚至可以直接在浏览器端打开(比如MOV,但是需要安装Quicktime的插件)。当然这种播放方式并非我们希望的边下边播,而是全…

网站导航(URL 映射和路由)

站点地图的设计基于一个简单的原则:每个入口具有一个单独的 URL。虽然可以增加查询字符串区分 URL,但在很多网站 Web 表单和站点地图入口是一一对应的。 当这个原则不适用时,ASP.NET 有两个工具可以解决这一问题: URL 映射。它以整…

ie浏览器在线使用_关于登录深圳市住房公积金管理中心网站在线办理平台的温馨提示...

各住房公积金缴存单位、职工:为进一步提高用户使用安全性,我中心对网站在线办理平台系统进行了安全优化,电脑终端用户使用WinXP、 Win 7和Win10系统自带的IE浏览器访问我中心网站在线办理平台如出现异常,请按照以下指引操作&#…

日常记录(4)让百度和google收录我们的网站

2019独角兽企业重金招聘Python工程师标准>>> 前言 如果自己的网站在百度Google之类的搜索引擎搜索不到,总感觉逼格有那么一点不够。本文主要是正对于基于Hexo搭建的博客,当然其他个人网站也可以查考。 让谷歌收录 让谷歌收录还是比较简单&…

万事无忧之看看网站的PR值

【标题】PR(Page Rank全攻略) 【内容】   什么是PR值? PR值全称为PageRank(网页级别)。Pagerank取自Google的创始人LarryPage,它是Google排名运算法则(排名公式)的一部分,Pag…

代理ip网站的ip怎么来的_妙用代理IP,防止IP被封

在上网的时候,我们电脑都会有一个IP地址,相当于网络的身份证,IP地址可以查到你所在的城市,用了代理IP就可以保护真实IP,别人看到的也只是代理提供IP的地址,无法得知我们的真实地址。想完好的隐藏IP&#xf…

jsp 使用base标签 没有作用_tag标签的概念,如何设置使用,它对网站seo优化有何作用...

tag标签是什么意思网页的html编码中有几个meta标签:标题标签(Title Tag)、描述标签(Description Tag)、关键词标签(Keywords Tag)、publisher tag、copyright tag、robots tag 等等。运用TAG标签,可以使你发表的文章更容易被搜索到。 TAG标签是一种由您自己定义的&a…

Dapper:The member of type SeoTKD cannot be used as a parameter Value

异常汇总&#xff1a;http://www.cnblogs.com/dunitian/p/4523006.html#dapper 上次说了一下Dapper的扩展Dapper.Contrib http://www.cnblogs.com/dunitian/p/5710382.html 以及这个异常&#xff1a;Dapper.Contrib&#xff1a;GetAsync<T> only supports an entity with…

网站去色的通用方法(简单)

2019独角兽企业重金招聘Python工程师标准>>> 每当遇到全国哀悼日&#xff0c;禁止一切娱乐活动&#xff0c;那么我们的网站就要去色。 CSS代码: (插入到CSS文件的最顶端) html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale1); } 或者: *{filte…

python爬取内容为空怎么剔除_用scrapy爬取网站内容时,如何忽略某些内容为空的值;...

我爬取京东上所有手机信息时会碰到如下问题&#xff1a; 1、返回值过多&#xff0c;如下图片所示&#xff1a;2、spider代码如下&#xff1a; -- coding: utf-8 -- import scrapy from scrapy.http import Request from ueinfo.items import UeinfoItem class MrueSpider(scrap…