XSS(跨站脚本攻击)
定义
浏览器将用户输入的内容,当做脚本执行,执行了恶意的功能,这种针对用户浏览器的攻击即跨站脚本攻击。
类型
主要分为三种类型:
-
反射型
-
存储型
-
DOM 型
XSS 危害
- 盗取 Cookie
- 盗取账户
- 恶意软件下载
- 键盘记录
- 广告引流等等 JavaScript 能够写出的任意恶意功能
反射型 XSS
应用程序或 API 包括未经验证或未经转义的用户输入, 直接作为HTML 输出的一部分。一个成功的攻击可以让攻击者在受害者的浏览器中执行任意的 HTML 和 JavaScript 。
特点:非持久化,必须用户点击带有特定参数的链接才能引起。
影响范围:仅执行脚本的用户。
示例
SkyMacBookPro:~ demon$ docker run -d -p 0.0.0.0:8901:80 raesene/bwapp
<script>alert("hello world")</script>
<script>alert("点击此处修复");location.href="http://ceshis.com"</script>
<script>alert(document.cookie)</script>
长网址缩短 (https://www.ft12.com)
http://192.168.43.120:8901/xss_get.php?firstname=%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E&lastname=1&form=submit
http://33h.co/wr3wj
/><img src=111.png onerror=alert(document.cookie)>
防御措施
反射型 XSS 的限制与防御,危害范围相对较小,多为一次点击触发一次,对陌生的链接,不要随意点开。
练习
对于 bWAPP 的不同类型反射型 XSS 漏洞练习。