pikachu 靶场之XSS(跨站脚本) -下篇
【摘要】 前言大家好,我是Leon-pi,可以叫我pipi,新人报道,是个菜鸟,由于个人也是在学习过程中,文章写的也不是面面俱到,尽善尽美,请见谅。XSS 之盲打场景:一个留言板,只有后台才能看见前端存在的内容,从前端无法确定是否存在XSS漏洞,假设存在XSS漏洞,直接往里输入 XSS 代码,称为盲打。不论3721!,直接往里面插入XSS代码,然后等待,可能会有惊喜!!被动等待.....(当后台管理员...
前言
大家好,我是Leon-pi,可以叫我pipi,新人报道,是个菜鸟,由于个人也是在学习过程中,文章写的也不是面面俱到,尽善尽美,请见谅。
XSS 之盲打
场景:
一个留言板,只有后台才能看见前端存在的内容,从前端无法确定是否存在XSS漏洞,假设存在XSS漏洞,直接往里输入 XSS 代码,称为盲打。
不论3721!,直接往里面插入XSS代码,然后等待,可能会有惊喜!!
被动等待.....(当后台管理员登陆时就可能被攻击)
1 构造payload
<script>alert("attack!")</script>
提交后,模拟管理员登录后台
2 模拟管理员登录后台
存在XSS漏洞,并且也是存储型XSS
XSS 之过滤
1 随便输入内容,然后输入特殊字符('"<>)
2 输入 payload
<script>alert("attack!")</script>
什么也没发生,应该是过滤掉一些内容
3 尝试绕过
改动大小写
<SCRIPT>alert("attack!")</SCRIPT>
img 中 onerror事件
<img src="x" onerror="alert('error!')">
说明只是过滤了大小写,当然XSS绕过姿势不止一种,师傅们自行扩展
XSS 之htmlspecialchars
htmlspecialchars函数概览
调用该函数进行转换的字符如下
函数转换的类型
如果使用该函数对用户的输入进行处理,而保持默认转换类型可能会出现 XSS漏洞
(仅编码双引号)
1 输入 '"<>111
查看源码
从源代码可以看出,单引号未进行过滤,只是过滤了双引号
2 输入 payload
#' onclick='alert("aaa")
XSS 之href输出
javascript 伪协议
语法
javascript:someScript;someScript 是一个或多个使用 ; 分隔的 JavaScript 语句
实例
<a href="javascript:alert('JavaScript Link!');">JavaScript Link</a>
XSS href 输出
输出在 a 标签的 href 属性中,可以使用 JavaScript 协议来执行js
防御:只允许http,https,其次再进行 htmlspecialchars 处理
1 根据提示输入网址,查看源码
2 点击链接跳转至百度
2 使用 js协议 构造payload
javascript:alert("aaa")
XSS之 js输出
1 输入aaa,查看源码
这里发现输入的内容被放入到了js中
2 构造payload
';alert("attack xss")</script>
XSS 防范:输入做过滤,输出做转义
结语:
本人菜弟弟一个,大佬勿喷,谢谢,如果觉得个人写的还凑活,三连(点赞+关注+转发)一哈吧💪谢谢各位师傅,祝各位师傅玩的开心😊
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)