Web安全XSS修炼计划
前言
XSS全称为跨站脚本攻击【Cross Site Scripting,为不与层叠样式表【Cascading Style Sheets, CSS缩写混淆,故此名为XSS。
XSS恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
原理
- 攻击者对含有漏洞的服务器发起XSS攻击【注入JS代码。
- 诱使受害者打开受到攻击的服务器URL。
- 受害者在Web浏览器中打开URL,恶意脚本执行。
攻击方式
XSS可以分成二类:
- 非持久型XSS攻击:顾名思义,非持久型XSS攻击是一次性的,仅对当次的页面访问产生影响。非持久型XSS攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。
- 持久型XSS攻击:持久型XSS,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。
XSS也可以分成三类:
- 反射型:经过后端,不经过数据库。
- 存储型:经过后端,经过数据库。
- DOM型:不经过后端,DOM-Based XSS漏洞是基于文档对象模型【Document Objeet Model,DOM的一种漏洞,DOM-XSS是通过URL传入参数去控制触发的。
反射型XSS例题
题目出自这位dalao。
0X00
Server Code
1 | function render (input) { |
此处没有什么过滤,最基础的XSS攻击。
Input Code
1 | <script>alert(1)</script> |
Html
1 | <div><script>alert(1)</script></div> |
0X01
Server Code
1 | function render (input) { |