Web安全-XSS注入
XSS 攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站
脚本攻击缩写为 XSS,XSS 是一种在 web 应用中的计算机安全漏洞,它允许恶意 web 用户将代码植入到 web
网站里面,供给其它用户访问,当用户访问到有恶意代码的网页就会产生 xss 攻击。
xss 攻击的危害
- 盗取各类账号
- 非法转账
- 非法发送电子邮件
- 网站挂马
- 控制受害者机器向其他网站发送攻击
XSS 的防御
- 对输入的数据(包括url中的参数)进行过滤,过滤掉能执行前端脚本的内容
- 对输出的内容进行处理,进行动态html编码
XSS 类型
反射型 XSS
非持久化,需要用户点击才能触发
漏洞代码案例:
1 |
|
当GET传参进去一个name的时候,返回 Hello + name,可以看到代码中并未对传进去和传出去的参数进行处理,能够造成XSS攻击
payload:
1 | ?name=<script>alert(1)</script> |
其中 alert(1) 只是 JS 中的一个函数,只是用来测试是否存在XSS注入,点到为止即可
存储型 XSS
比如留言板,用户名,邮箱等一些信息存进数据库中,要显示的时候再提取出来。
漏洞代码案例:
1 |
|
上述代码虽然规避了SQL注入,但是仍然可能存在XSS注入。
DOM 型注入
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.