• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • CTF – Alert(1)解题报告 [Level 7 – Skandia]

    渗透测试 EXP 40阅读 0评论

    指引

    题目

    解题报告

    这题用 toUpperCase 把输入字符全部转换成大写了。

    JS 标签对大小写是不敏感的,但是 JS 函数则是大小写敏感,这样会导致 alert() 函数失效。

    其实这种题型有通解:利用 <svg> 标签构做实体编码解析进行绕过。

    在网页编码中,以 &#ASCII; 称为实体编码,其中 ASCII 可以用十进制或十六进制表示。如 ( 的 ASCII 编码为 40 (或十六进制 0x28) ,那么 &#40;&#x28; 就是 ( 的实体编码。

    其工作原理为:

    • toUpperCase 对实体编码本身的字符(如 &#97;)进行大写转换,但是实体编码字符本身并没有对应的大写字符,因此不会起作用
    • <svg> 再把实体编码解析为对应的 ASCII 字符

    因此这题可构造这样的 payload :


    转载请注明:EXP 技术分享博客 » CTF – Alert(1)解题报告 [Level 7 – Skandia]

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址