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=
16进制
http://test.com/xss/xss/example5.php?name=
unicode编码
http://test.com/xss/xss/example5.php?name=

XSS--编码绕过,qcms,鲶鱼cms_第1张图片
10进制还要加String.fromCharCode函数用eval执行

http://test.com/xss/xss/example5.php?name=

XSS--编码绕过,qcms,鲶鱼cms_第2张图片

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

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

3.ppt

XSS--编码绕过,qcms,鲶鱼cms_第3张图片
XSS--编码绕过,qcms,鲶鱼cms_第4张图片
XSS--编码绕过,qcms,鲶鱼cms_第5张图片
XSS--编码绕过,qcms,鲶鱼cms_第6张图片
XSS--编码绕过,qcms,鲶鱼cms_第7张图片
XSS--编码绕过,qcms,鲶鱼cms_第8张图片
XSS--编码绕过,qcms,鲶鱼cms_第9张图片
XSS--编码绕过,qcms,鲶鱼cms_第10张图片
XSS--编码绕过,qcms,鲶鱼cms_第11张图片

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

(1)qcms

大体游览一遍网站发现只有留言处有输入,可能存在xss,
XSS--编码绕过,qcms,鲶鱼cms_第12张图片

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

XSS--编码绕过,qcms,鲶鱼cms_第13张图片

(2)Catfish(鲶鱼)CMS-4.7.21

XSS--编码绕过,qcms,鲶鱼cms_第14张图片

XSS--编码绕过,qcms,鲶鱼cms_第15张图片
发现过滤尖括号,双引号,听老师知道这是前端过滤,用burpsuit即可绕过
XSS--编码绕过,qcms,鲶鱼cms_第16张图片

百度到的大佬审计原理

转载于:https://www.cnblogs.com/hackxf/p/8988526.html

你可能感兴趣的:(XSS--编码绕过,qcms,鲶鱼cms)