学了几天 Web 安全,终于搞懂什么是 XSS 了
xss的详细介绍最近开始正式学习 Web 安全。前面陆续学了HTTPCookieSessionJWTRBAC然后发现很多地方都会提到一个东西XSS以前一直感觉这个漏洞很抽象。网上很多文章一上来就是scriptalert(1)/script然后说“弹窗成功XSS存在。”但是我一直没真正理解为什么一个弹窗会变成漏洞直到最近把 Cookie、Session 这些东西串起来以后终于稍微理解了一点。所以这篇文章主要是记录一下我目前对 XSS 的学习理解。一、什么是 XSSXSS 全称Cross Site Scripting跨站脚本攻击简单理解网站把用户输入的内容当成了代码执行。正常情况下用户输入的数据应该只是“普通文本”,但是如果网站没有做好过滤。攻击者就可以插入HTMLJavaScript甚至让浏览器直接执行恶意脚本。二、最经典的 XSS 示例比如某网站有一个评论区。正常用户评论这个网站真不错然后网站会把内容显示出来。但是如果攻击者输入scriptalert(XSS)/script并且网站没有过滤。那么别人访问这个页面的时候浏览器就会执行这段 JavaScript。于是页面直接弹窗。这就是最经典的 XSS 演示。三、为什么 XSS 能执行最近我才慢慢理解浏览器本身就会执行HTML 和 JavaScript。比如scriptalert(1)/script本来就是合法前端代码。问题在于网站错误地把“用户输入”也当成了前端代码。于是浏览器就真的执行了。四、XSS 真正危险的地方不是弹窗刚开始学的时候我一直觉得alert(1) 有什么危险后来才发现弹窗只是“证明漏洞存在”。真正危险的是攻击者可以执行恶意 JavaScript。五、XSS 最经典的危害偷 Cookie这里就和前面学的 Cookie 串起来了。之前学过很多网站会通过CookieSessionID识别用户身份。如果攻击者通过 XSS 获取到用户 Cookie。那么攻击者可能直接冒充用户登录。最经典的例子document.cookie这段代码可以读取当前页面 Cookie,如果网站没有做好安全保护。攻击者可能把 Cookie 发送到自己的服务器。六、为什么很多网站害怕 XSS因为XSS 不只是弹窗。它还能偷 Cookie冒充用户修改页面内容制作钓鱼页面获取用户输入操作前端功能甚至有时候后台管理员打开一个页面,都可能被攻击。七、XSS 的三种常见类型最近学习时发现XSS 其实不止一种。1. 反射型 XSS特点输入一次触发一次比如用户点击恶意链接。服务器直接把恶意内容返回页面,于是脚本执行。这种比较适合新手入门理解。2. 存储型 XSS这个危险很多。因为恶意代码会被保存到数据库。例如攻击者在评论区提交恶意脚本。以后所有访问页面的人都会触发。包括管理员。3. DOM 型 XSS这个和前端 JavaScript 有关。有些情况下漏洞甚至不经过服务器,而是前端 JS 自己导致。八、为什么学 XSS 之前要先学 Cookie 和 Session这个是我最近最大的感受。以前我不懂,为什么很多人一直强调CookieSessionJWT后来学 XSS 才发现。因为Web 漏洞很多时候本质上是在“利用身份机制。比如XSS 偷 CookieCSRF 利用 Cookie越权绕过权限其实都和 Web 登录机制有关。九、我目前的理解现在我会把 XSS 理解成网站错误执行了用户输入的脚本而攻击者利用这些脚本进一步获取用户身份或者控制页面。十、后面准备继续学习什么接下来我准备继续反射型 XSS存储型 XSSDOM 型 XSSXSS 如何盗取 CookieXSS 靶场实战后面也会继续整理学习笔记。如果文章里有理解不对的地方也欢迎大家一起交流学习。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2644632.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!