前言
一直以来自己对WEB安全方面的知识了解的比较少,最近有点闲工夫了解了一下。也是为了以后面试吧,之前就遇到过问WEB安全方面的问题,答的不是很理想,所以整理了一下!
一、XSS攻击
跨站脚本攻击(Cross Site Scripting),为了不和 层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意的Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
特点:尽一切办法在目标网站上执行非目标网站上原有的脚本。
XSS危害
1.使用js或css破坏页面正常的结构与样式
2.通过document.cookie盗取cookie,实现无密码访问
3.流量劫持(通过访问某段具有window.location.href定位到其他页面)
4.Dos攻击:利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器响应。
5.利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
6.利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
攻击方式
1. Reflected XSS(基于反射的XSS攻击)
非持久型,反射型 XSS 漏洞常见于通过 URL 传递参数的功能,如网站搜索、跳转等。由于需要用户主动打开恶意的 URL 才能生效,攻击者往往会结合多种手段诱导用户点击。POST 的内容也可以触发反射型 XSS,只不过其触发条件比较苛刻(需要构造表单提交页面,并引导用户点击),所以非常少见。
反射型 XSS 的攻击步骤:
攻击者构造出特殊的 URL,其中包含恶意代码。
用户打开带有恶意代码的 URL 时,网站服务端将恶意代码从 URL 中取出,拼接在 HTML 中返回给浏览器。