漏洞无非这么几类,XSS、sql注入、命令执行、上传漏洞、本地包含、远程包含、权限绕过、信息泄露、cookie伪造、CSRF(跨站请求)等。这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何有效防止这些漏洞。

1.xss + sql注入(关于xss攻击详细介绍)

其中占大头的自然是XSS与SQL注入,对于框架类型或者有公共文件的,建议在公共文件中统一做一次XSS和SQL注入的过滤。用PHP写个过滤函数,可由如下所示:

$_REQUEST = filter_xss($_REQUEST);

$_GET = filter_xss($_GET);

$_POST = filter_xss($_POST);

$_COOKIE = filter_xss($_COOKIE);

$_POST = filter_sql($_POST);

$_GET = filter_sql($_GET);

$_COOKIE = filter_sql($_COOKIE);

$_REQUEST = filter_sql($_REQUEST);

最简单的filter_xss函数是htmlspecialchars()

最简单的filter_sql函数是mysql_real_escape_string()

当然,谁都知道这种过滤filter_sql(详细防止sql注入)只能过滤字符型和搜索型的注入,对于数字型是没有办法的,但也说明做了这层过滤后,只需在后面注意数字型的SQL语句就可以了,遇到了加intval过滤就可以了,这就变得容易多了。

2. 命令执行

对于命令执行,可以从关键字入手,总共可分为3类

(1) php代码执行 :eval等

(2)shell命令执行:exec、passthru、system、shell_exec等

(3) 文件处理:fwrite、fopen、mkdir等

对于这几类需要注意其参数是否用户可控。

3.上传漏洞

对于上传漏洞,也是重点关注的地方,要仔细分析它的处理流程,针对上传的绕过方式是很多的,最保险的方式:在保存文件是采用文件名随机命名和后缀白名单方式。其次要注意的一点是上传文件的地方可能不止一处,不要有遗漏,可能会碰到这样的情况,突然在某个目录里面包含了一个第三方的编辑器在里面。

文件包含漏洞涉及的函数如include() 、include_once()、require()、require_once()、file_get_contents()等

最常见的还是出在下载文件功能函数,例如download.php?file=../../../etc/passwd 这种类型中。

4. 权限绕过

权限绕过可分为两类吧

(1)后台文件的未授权访问。后台的文件没有包含对session的验证,就容易出现这样的问题

(2)未作用户隔离,例如mail.php?id=23显示了你的信件,那么换个ID, mail.php?id=24就查看到了别人的信件,编写代码是方便,把信件都存在一个数据表里,id统一编号,前端展现时只需按id取出即可,但未作用户隔离,判定归属,容易造成越权访问。

这样的例子是很常见的,给某银行做评估是就经常发现这种漏洞。

5. 信息泄露

信息泄露算是比较低危的漏洞了,比如列目录这种就属于部署问题,而与代码审计无关了,而像暴路径、暴源码这种是需要防止的。曾经遇到这样的代码

表面上似乎没问题,可是当请求变为 xx.php?a[]=1时,即参数变为数组的时候,就会发生错误以致路径泄露,而用isset判断则不会,当然一个个防太麻烦,建议在配置文件中关闭错误提示,或者在公共文件中加入如下代码以关闭错误显示功能:

之前PHP点点通(phpddt.com)就有一篇文章:关于PHP防止漏洞策略 ,介绍了register_globals 的危害以及魔术引用Magic Quotes使用说明。

注明:本文部分内容摘自PHPCHINA

如何防止php漏洞,关于PHP的漏洞以及如何防止PHP漏洞?相关推荐

  1. IE新0day漏洞(979352)(又称极光零日漏洞)***将扩散

    微软1月14日晚发布公告称,***在最近的针对Google.Adobe以及其他公司的***中利用了IE零日漏洞(编号979352). 有关该漏洞的信息不断被披露,目前网上已经出现完整的恶意***代码. ...

  2. e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过

    话说文章写得菜不要紧,首先标题要跟大牛一样! 作者:单恋一支花 出自:t00ls 转载请注明出处,如有雷同,纯属别人抄袭,嘿嘿! 一:写在前面 今天晚上想老婆了,失眠了,蛋裂之余,进吐司寻找基友,惊现 ...

  3. rmi远程代码执行漏洞_微软 Windows DNS Server 远程代码执行漏洞

    安全预警 漏洞:微软 Windows DNS Server 远程代码执行漏洞漏洞编号:CVE-2020-1350威胁程度:高影响范围: Windows Server 2008 for 32-bit S ...

  4. 奇安信代码卫士报送的漏洞获评“CNVD平台2019年度最具价值漏洞”

    聚焦源代码安全,网罗国内外最新资讯! 奇安信代码安全实验室研究员为某厂商发现漏洞CNVD-2019-24016,第一时间向该厂商报告且协助其修复漏洞.   北京时间2019年12月30日,国家信息安全 ...

  5. 逻辑漏洞-支付风险-大疆某处支付逻辑漏洞可1元买无人机

    缺陷编号: WooYun-2016-194751 漏洞标题: 大疆某处支付逻辑漏洞可1元买无人机 漏洞作者: 锄禾哥 首先注册一个大疆的账号,打开大疆的商城,挑选一件商品进入点击购买 http://s ...

  6. thinkphp漏洞_【组件攻击链】ThinkCMF 高危漏洞分析与利用

    一.组件介绍 1.1 基本信息 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架.ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形 ...

  7. 用友漏洞php,Phpwind GET型CSRF任意代码执行漏洞公开

    这个洞其实很有意思,最可惜的地方就是其触发位置在后台,否则它将是一个绝无仅有的好洞. 0x01 后台反序列化位置 首先纵览整个phpwindv9,反序列化的位置很多,但基本都是从数据库里取出的,很难完 ...

  8. Hack The Box - Catch 利用let chat API查询信息,Cachet配置泄露漏洞获取ssh登录密码,apk代码注入漏洞利用获取root权限

    Hack The Box-Catch Hack The Box开始使用流程看这篇 文章目录 Hack The Box-Catch 整体思路 1.Nmap扫描 2.apk文件信息收集 3.lets ch ...

  9. 平均每个ICO项目存在5个高危漏洞,所有ICO移动应用都存在安全漏洞

    近日,国外的一项研究报告显示,去年所有ICO项目存在5个安全漏洞,其中47%是能够致使相关机构面临数据和资金损失风险的中高危漏洞. 这项研究对2017年的ICO项目进行统计分析,发现去年ICO的总投资 ...

  10. MS08-067远程代码执行漏洞(CVE-2008-4250) | Windows Server服务RPC请求缓冲区溢出漏洞复现

    MS08-067远程代码执行漏洞(CVE-2008-4250) | Windows Server服务RPC请求缓冲区溢出漏洞复现 文章目录 MS08-067远程代码执行漏洞(CVE-2008-4250 ...

最新文章

  1. lucene.net mysql_用Lucene[1].net对数据库建立索引及搜索+
  2. Python爬虫并自制新闻网站,太好玩了
  3. 如何把使用到android res文件夹下面资源(R.xx.xx)的工程打包成jar文件,供其它项目使用...
  4. centos普通用户修改文件权限_centos修改文件及文件夹权限
  5. java:final,finally,finalize区别
  6. UOJ.386.[UNR #3]鸽子固定器(贪心 链表)
  7. 微软亚洲研究院开源图数据库GraphView
  8. linux 中断程序设计,Linux中断编程
  9. 电脑上微信怎么多开?
  10. 浅谈Android事件分发机制
  11. SpringBoot使用JdbcTemplate案例(学习笔记)
  12. 亚马逊ECS和Kubernetes管理百万容器8个洞察
  13. 在linux oracle 10g/11g x64bit环境中,goldengate随os启动而自己主动启动的脚本
  14. LInux学习笔记(四)-----实操排雷
  15. pop3常用命令记录
  16. 办公自动化-演练-从A表中提取数据整合到B表中-0223
  17. html中第一行代码,HTML5 CSS3初学者指南(1) – 编写第一行代码
  18. 搜索做成html静态,如何在静态的html里实现搜索功能?
  19. 最新hadoop+hbase+spark+zookeeper环境安装(vmmare下)
  20. Ubuntu 安装rabbitvcs

热门文章

  1. 计算机校园网网络工程论文,关于网络工程研究及校园网设计的论文
  2. 苹果电脑更改sd卡只读_sd卡反复变成只读解决办法
  3. Portraiture2023免费后期修图插件磨皮神器DR5
  4. sklearn-KMeans-花卉识别
  5. “超越”(MMCU)中文通用大语言模型测试集预发布
  6. 解析SSM框架的优缺点
  7. 这两年大家都在吃瘪,结果微软他闷声发大财了?!
  8. 2020省赛->棋盘放麦子
  9. ASP.NET MVC:多语言的三种技术处理策略
  10. python图像去污_图像去雾----暗通道