web 安全
只要讲以下几点攻击方式:XSS 攻击、CSRF 攻击、SQL注入、点击劫持以及 URL 跳转漏洞
在阅读本文之前,先试着问自己以下几个面试题:
1.前端有哪些攻击方式?
2.什么是XSS攻击?XSS攻击有几种类型?如果防范XSS攻击?
3.什么是CSRF攻击?如何防范CSRF攻击
4.如何检测网站是否安全?
XSS攻击
XSS 攻击,即跨站脚本攻击(Cross-Site Scripting),攻击者在目标网站上注入恶意代码,当被攻击者登陆网站时就会执行这些恶意代码,这些脚本可以读取 cookie,session tokens,或者其它敏感的网站信息,对用户进行钓鱼欺诈,甚至发起蠕虫攻击等。
XSS 的本质是:恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。由于直接在用户的终端执行,恶意代码能够直接获取用户的信息,利用这些信息冒充用户向网站发起攻击者定义的请求。
根据攻击的来源,XSS攻击可以分为反射型(非持久型)、存储型(持久性)和DOM型三种
反射型XSS
存储型XSS
DOM 型 XSS
CSRF攻击
CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。
SQL注入
漏洞危害:
- 可导致数据库被拖
- 重要信息泄露
- 上传webshell
- 执行系统命令,进而控制服务器
之所以会发生SQL注入,主要因为代码中存在拼接SQL语句的情况。比如:
点击劫持
点击劫持是指在一个Web页面中隐藏了一个透明的iframe,用外层假页面诱导用户点击,实际上是在隐藏的frame上触发了点击事件进行一些用户不知情的操作。