1 XSS攻击
XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改,注入恶意的HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
常见的XSS攻击有两种方式
1)反射型。攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击的目的。
2)持久型XSS攻击。攻击者提交含有恶意脚本的请求,保存在被攻击的Web站点的数据库中,用户浏览网页时,恶意脚本被包含在正常页面,达到攻击目的。
危害:攻击者可以利用XSS攻击窃取用户的cookie等重要信息。
防范:
1)消毒,对特殊字符进行转义,PHP中有一个函数htmlspecialchars()
2)HttpOnly。浏览器禁止页面Javascript访问带有HttpOnly属性的Cookie。
2注入攻击
形式:SQL注入,OS注入
SQL注入原理:攻击者在HTTP请求中注入恶意SQL命令(drop table user),服务器用请求参数构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
防御:
1)消毒。过滤drop table等关键字
2)参数绑定
3 CSRF攻击
CSRF(Cross Site Request Forgery,跨站点请求伪造),攻击者通过跨站请求,以合法用户的身份进行非法操作。
CSRF的主要手段是利用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是利用了浏览器Cookie或者服务器Session策略,盗取用户身份。
CSRF的防御手段主要是识别请求者身份。
1)表单token
2)验证码
3)Referer check