美文网首页
New XSS Bypass!

New XSS Bypass!

作者: kevinfaith | 来源:发表于2021-10-20 16:49 被阅读0次

    简介

    逛推特突然看到Jackson大佬的xss绕过思路,挺有意思

    上Payload

      payload:<svg onload=alert%26%230000000040"1")>
    

    漏洞原理:

    alert%26%230000000040等价于(

    这个payload分为三部分

    alert() //html里面的一个一个DOM 方法
    %26%23  //html编码等价于"&#"
    0000000040  //就是40
    

    其中的关键就在于,%26%230000000040这个,他等价于"("闭合了后面的")",所以形成了这个XSS Bypass

    但是为啥&#40回等价于"("呢。

    因为使用了NCR的方式,使现实字符实体名称或不被浏览器支持的一些实体被浏览器显示,先找到字符对应的UNICODE编码,以小于号为例,unicode编码16进制为3C(10进制为60),在html则可以使用&#x3C或&#60,跟上面的表格对照看是否相同,由此我们也可以知道,如果我们的html所采用的编码不支持一些字符(比如其他国家的字符),则可以通过NCR来引入我们的页面就不会乱码了。

    NCR:
    Google了一下,这东西专业名称叫numeric character reference(NCR),直译就是数字字符引用。一个Numeric Character Reference编码是由一个与号(&)跟着一个井号(#),然后跟着这个字符的Unicode编码值,最后跟着一个分号组成的,就像上面的例子一样。

    有了数字字符引用,就可以在网页中显示Unicode字符了,不用考虑html文件本身的编码。

    相关文章

      网友评论

          本文标题:New XSS Bypass!

          本文链接:https://www.haomeiwen.com/subject/wtgtaltx.html