php常见攻击的原理分析及预防

2016-07-20  本文已影响0人  cartman

SQL注入

---

危害:

- 非法读取、篡改、添加、删除数据库中的数据;

- 盗取用户的各类敏感信息,获取利益;

- 通过修改数据库来修改网页上的内容等。

原理:大部分关系型数据库都是基于SQL语法,而程序使用了用户输入的数据拼接组成sql语句,数据库执行之后产生了语气之外的效果。

(举例说明)

预防方法:

- 过滤用户输入的数据并进行检验

- 使用数据库的预编译(prepare)和参数绑定功能(举例说明)。

XSS跨站脚本攻击

---

危害:

- 窃取用户的隐私信息

- 控制用户的动作

原理: 攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

预防方法:

- 对用户的输入过滤并校验

- 用户输入的数据显示在网页时,将特殊字符转义。

CSRF跨站请求伪造

---

危害:伪造用户请求,在用户不知情的情况下控制用户的动作。

原理: 用户访问并登陆正常网站A后,打开了恶意网站B,由B通过浏览器发出请求到A站,此时会携带A站的cookie等信息,A的服务器并不知道请求是B伪造的。

预防方法:

- 验证http请求头的Referer

- 用户输入数据需要使用post方法,并分配一个一次性的token用于验证。

短信验证码

---

危害:

- 消耗公司的短信资源(浪费钱)

- 并发发送短信,影响正常用户的使用。

原理: 现在为了用户体验,很多公司的短信验证取消了图片验证码等人机校验功能,给攻击者造成了可乘之机。攻击者可以使用多个代理,构造多个手机号,避开后台的ip和手机号发送次数限制。

预防: 增加人机身份校验(最简单的是图形验证码)。

上一篇下一篇

猜你喜欢

热点阅读