web前端安全

大体了解了下web前端安全的几项黑客技术,以下做简单整理,具体的深入学习希望有时间好好读一下《web前端黑客技术揭秘》这本书,给走在web前端学习路上的自己加油!!

前端安全主要有三类:XSSCSRF、界面操作劫持。越往后,实施这些攻击的代价越大,界面劫持需要很好的美工基础,黑客高美工不太现实,因为现在有很多好的方式可以黑下目标。

题外话:跨站攻击发生在浏览器客户端,而SQL注入攻击由于针对的对象是数据库,一般情况下数据库在服务器,所以SQL注入是发生在服务端的攻击。这里为什么说是一般情况下,那是因为HTML5提供了一个新的客户端存储机制:在浏览器端,使用SQLite数据库保存客户端数据,该机制允许使用JavaScript脚本操作SQL语句,从而与本地数据库进行交互。

Web安全事件的角色如下:

W3c

浏览器厂商

Web厂商

攻击者

被攻击者

1、XSS cross site script,跨站脚本攻击。

恶意攻击者往web页面里插入恶意的HTML代码,当用户浏览网页时嵌入的恶意代码会被执行,从而达到恶意用户的目的。XSS属于被动式攻击。

XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞造成的跨站语句,另一类是来自外部的攻击,主要指自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。比如说发个恶意链接给目标用户并欺骗其点击,目标用户的浏览器就会开始执行我们构造的恶意脚本。

XSS就是想尽一切办法将你的脚本内容在目标网站中目标用户的浏览器上解析执行即可。

XSS有何危害?

挂马

盗取用户cookie

Dos(拒绝服务)客户端浏览器

钓鱼攻击,高级钓鱼技巧

编写针对性的XSS病毒,删除目标文章、恶意篡改数据、家伙、借刀杀人

劫持用户web行为,甚至进一步渗透内网

爆发web2.0蠕虫

蠕虫式的DDos攻击

蠕虫式挂马攻击、刷广告、刷流量、破坏网上数据

开发人员:对于XSS攻击,特点是攻击者的代码必须能获取用户浏览器端的执行权限,那么代码是从哪里来的呢?想要杜绝此类攻击出现,其实可以在入口和出口进行严格的过滤。

===------------------------------------------------------

2CSRF跨站请求伪造,cross site request forgery

原理与XSS正好相反,XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求。它的请求有两个关键点:跨站点的请求与请求时伪造的。比如,目标网站的删除文章功能收到来自恶意网站客户端发出的删除文章请求,这个请求就是跨站点的请求。

CSRF有何危害?

篡改目标网站上的用户数据

盗取用户隐私数据

作为其它攻击向量的辅助攻击手法

传播CSRF蠕虫

对于CSRFcookie劫持

开发人员策略:通过referertoken或者验证码来检测用户提交。

尽量不要在页面的链接中暴露任何与用户唯一号ID有关的信息

对于用户修改、删除、提交操作最好都使用post操作

避免全站通用的cookie严格的设置cookie的域

===------------------------------------------------------

3SQL注入

SQL注入就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令。

===-------------------------------------------------------

界面操作劫持包括:点击劫持、拖放劫持、触屏劫持(智能终端设备)

点击劫持,click Jacking,也被称为UI覆盖攻击。通过覆盖不可见的框架误导受害者点击。虽然受害者点击的是他看到的页面,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面,这种攻击利用了HTML