1 什么是XSS
XSS(cross site script)或者说跨站脚本是一种Web应用程序的漏洞,恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
2 XSS脚本实例
xss test xss输入也可能是html代码段,如果使用网页不停的刷新,代码为:3 跨站脚本漏洞风险
盗取用户cookie,然后伪造用户身份登录,泄漏用户个人身份及用户订单信息。
操控用户浏览器,借助其他漏洞可能导致对https加密信息的破解,导致登录传输存在安全风险。
结合浏览器及其插件漏洞,下载病毒木马到浏览者的计算机上执行。
修改页面内容,产生钓鱼攻击效果,例如伪造登录框获取用户明文帐号密码。
强制弹出广告页面、刷流量传播跨站脚本蠕虫等
4 什么是存储式XSS
存储式XSS,持久化,代码是存储在服务器中的。
存储式XSS是当不可信的用户输入被处理并在没有任何验证的情况 下保存在文件或数据库,同时该不可信的数据从存储中被获取然后 在没有编码或转义的情况下反射回响应文中,导致了永久性的每次 存储数据反射回响应文代码就会在浏览器中执行的一种XSS漏洞。
存储式XSS的影响有:
通过javascript获取用户的cookie,根据这个cookie窃取用户信息
重定向网站到一个钓鱼网站
重新更改页面内容,假装让客户输入用户名,密码,然后提交到黑客的服务器
生成蠕虫,迅速扩散到整个网站用户(微博等)
5 反射式XSS
反射式XSS一般是提交信息的一部分内容通过服务器解析后反馈到浏览器,而不存储到服务器。
与存储式XSS不同的是,不能存储在服务器中
攻击方法一般都是构造了有恶意代码的链接(一般都是可信度高的网站)发送给受害者,受害者点击后会执行注入的XSS代码。
6 反射式XSS利用流程
7 XSS利用
构造有问题的链接
http://mydvwa.com/dvwa/vulnerabilities/xss_r/?name=a%3Cscript% 3Ealert%281%29%3C%2Fscript%3E
发送给受害者
受害者打开页面
服务器解析了地址,然后返回给用户
用户收到有scirpt注入的页面
受害者浏览器根据script内容运行