• CMS(1)


    一周后,终于可以学习到可爱的渗透了哈哈哈。除了大哥给的CMS(其实可以算是只是在文件上传的时候了解一下),但是对于一个CMS完整的渗透思路,我还是不懂。首先感谢章老师给我的CMS源码哈哈哈,在我的日记里祝章老师越来越大佬哈哈。

    0x01 前言

    首先看一下别人博客的思路:https://blog.csdn.net/hibari_18/article/details/75029421

    自己捋一遍思路,CMS:“内容管理系统”,来有效解决用户网站建设与信息发布中常见的问题和需求。对网站内容管理是该软件的最大优势,它流程完善、功能丰富,可把稿件分门别类并授权给合法用户编辑管理,而不需要用户去理会那些难懂的SQL语法。

    渗透思路:判断CMS类型---根据类型搜索敏感信息(当然这里已经有登录账号和密码了)---getshell exp ---自我发挥

    0x02 第一步准备阶段(基本信息)

    一 判断CMS类型

    1.首先我们应该了解常见的CMS类型有哪些,我就比较憨厚了,只知道discuz这一种(龇牙),所以请无时无刻抓紧学习。。。

    方法如下:https://blog.csdn.net/qq1124794084/article/details/79218596

    • 看网页最末端的版权信息
    • 抓取robots文件
    • 查看网页源码的方式(无robots.txt)【visual sitebuilder 9】
    • 通过字典查看网站的MD5值

    在这里,我们通过版权信息看到类型为:schoolCMS (注意:在有些时候打开网页的时候显示的后台登陆,但是如果换一台电脑,呈现出来的可能是网站的首页。。或者二者之间交换。。)

    2.收集schoolCMS的相关信息:框架(及框架版本)、该框架可能存在什么漏洞。。然后发现schoolCMS得到

    其官网:

    框架为:thinkphp,版本号为3.2.3

    3.搜索该版本的漏洞。发现小于thinkPHP3.2.3有漏洞一大堆。。。。

    二 收集敏感信息

    • 找后台(御剑 啊D)<虽然我知道这些东西已经过时了。。>
    • SQL注入爆管理员账号和密码。

    由于这里只是一个实验,,我就不做密码猜解了。。。(稍后回来试试)

    三 开始实验

    1. 登录后台以后,发现在表格那里可以上传,表格可以与ASP文件合成上传吗??试一下。。

     

    2.在后台管理页面--站点管理--可以上传主页logo

    总结渗透第一步:收集资料,这个框架漏洞,通过报错来看(这里截图是另外一个演示)。

    0x03 漏洞分析

    1.得知框架是thinkPHP3.2,查看其漏洞文件:

    D:PhpStudyPHPTutorialWWWschoolcmsApplicationcommoncommonfuntion.php中的MyConfigInit()方法

    *这里了解到common文件夹:共享资源文件夹,很多软件需要调用里面的文件

    2.打开网址:http://127.0.0.1/schoolcms/schoolcms/admin.php?m=admin&c=site&a=index

    发现这里可以上传,找到其分析文件

    D:PhpStudyPHPTutorialWWWschoolcmsApplicationAdminControllerSiteController.php的save方法

    然后分析代码,在最后的save方法里面,将所有的用户进行校验并更新:

     

    跟进那个save方法,跟进路径:

    D:PhpStudyPHPTutorialWWWschoolcmsApplicationAdminControllerCommonController.class.php这里面有个key函数

     

    继续跟进这个S()方法的key函数,章老师说这里有个键注入。。我真的真的了解不清楚了哈哈哈

    这个函数我是真的没有找到。。。不知道路径。。。

    然后大佬的文档里面说:

    D:PHPstudyPHPTutorialWWWSchoolCMSschoolcmsApplicationRuntimeTemp

    这里就是缓存的我们上传的文件,上传一次更新一次,点进去发现可【这里转换为php的原理是什么呢??】

     然后我们将我们的payload放进去:@eval(@_POST['xixi']);//

    0x04 漏洞利用

    我们直接访问上传logo的页面,然后抓包-->改包(改包就是将我们的变量里面加入shell);

    再查看服务器缓存文件:

    发现shell已写入:

    然后访问URL:

    http://192.168.50.161:801/schoolcms/schoolcms/Application/Runtime/Temp/38432eb7369925b9a826f2b9f64e2262.php

     

    OK!

  • 相关阅读:
    时间日期date/cal
    chown命令
    su命令
    which命令和bin目录
    python基础之文件操作
    python之模块之shutil模块
    python基础之面向对象01
    python基础之面向对象02
    python基础之map/reduce/filter/sorted
    python基础之模块之序列化
  • 原文地址:https://www.cnblogs.com/TEAM0N/p/11108363.html
Copyright © 2020-2023  润新知