zoukankan      html  css  js  c++  java
  • 74CMS3.0储存型XSS漏洞代码审计

    发现一个总结了乌云以前代码审计案例的宝藏网站:https://php.mengsec.com/

    希望自己能成为那个认真复现和学习前辈们思路的那个人,然后准备慢慢开始审计一些新的小型cms了

    骑士cms3.0储存型XSS漏洞,源代码可以在74CMS官网上找到:http://www.74cms.com/download/

    要挖掘储存型XSS需要寻找未过滤的输入点和未过滤的输出函数,这个最终的输出点可能跟输入点完全不在一个业务流上,对于这类可以根据当前代码功能去猜,或者老老实实去追哪里有操作过这个数据,使用表名,字段名去代码里面搜索。

    在74cms3.0中这个XSS储存型漏洞也是如此,我们将74CMS在本地安装后,到admin/admin_link.php位置处

     

     也就是说,当存在我们对网站的输入的时候,我们就可以考虑是否有XSS漏洞

    这里有添加友情链接的功能,是一个输入的位置,查看admin/admin_link.php文件

    此处有:

     当我们不指定act参数的时候,$act=list ,进入if语句

     然后在这个位置将使用get_links函数从数据库中读取友情链接,也就是我们可以输入储存在数据库中的link

    我们跟进get_links函数

     get_links函数是一个从数据库里面读取友情链接并返回的函数

    再接着就是输出, 我们自己点击添加链接,也可以看出我们有几个部分的输入,可以一一在模板中查看

    链接名称,链接地址,LOGO地址,备注,显示顺序都是我们可以控制的输入,同时是按照link/admin_link.htm为模板输出的,跟进link/admin_link.htm

     

     在logo处是img标签,在XSS-labs里面有过类似的题目,src属性我们利用onerror输出,输入点就是输入友情链接的地方

    书上这里使用了HTML实体编码,实际上这里不需要编码也可以直接弹窗

     这里有一篇将XSS漏洞的文章:https://wooyun.js.org/drops/Bypass%20xss%E8%BF%87%E6%BB%A4%E7%9A%84%E6%B5%8B%E8%AF%95%E6%96%B9%E6%B3%95.html

    我觉得里面说的挺好的:本文主要是一个测试XSS的思路流程,并没有把所有的payload写全,其实也没有人能够写全,只是列了一个大体的框架,大家实际在寻找的过程中可以不断慢慢的根据这种思路补充自己的payload,想必呢,一定会有很大的进步的!~

    在不断的代码审计中不断积累自己的payload,能够在看到漏洞点时下意识本能反应出来,应该就是代码审计的大手子了。

  • 相关阅读:
    第72届奥斯卡最佳动画奖《老人与海》
    关不掉的手机应用程序
    李嘉诚:知识并不一定使你的财富增加
    Linux之父Linus Torvalds谈软件开发管理经验
    Google 正式发布Dart编程语言
    代码本身其实并不重要,重要的是用户
    22个基于HTML5开发的网站
    看看耶鲁大学心态 ,送给正在奋斗的人 !
    用 git 维护 vim 代码
    谈程序语言的设计及程序员心态
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/12407981.html
Copyright © 2011-2022 走看看