一周后,终于能够学习到可爱的渗透了哈哈哈。除了大哥给的CMS(其实能够算是只是在文件上传的时候了解一下),可是对于一个CMS完整的渗透思路,我仍是不懂。首先感谢章老师给个人CMS源码哈哈哈,在个人日记里祝章老师愈来愈大佬哈哈。php
0x01 前言thinkphp
首先看一下别人博客的思路:https://blog.csdn.net/hibari_18/article/details/75029421shell
本身捋一遍思路,CMS:“内容管理系统”,来有效解决用户网站建设与信息发布中常见的问题和需求。对网站内容管理是该软件的最大优点,它流程完善、功能丰富,可把稿件分门别类并受权给合法用户编辑管理,而不须要用户去理会那些难懂的SQL语法。缓存
渗透思路:判断CMS类型---根据类型搜索敏感信息(固然这里已经有登陆帐号和密码了)---getshell exp ---自我发挥服务器
0x02 第一步准备阶段(基本信息)框架
一 判断CMS类型函数
1.首先咱们应该了解常见的CMS类型有哪些,我就比较憨厚了,只知道discuz这一种(龇牙),因此请无时无刻抓紧学习。。。学习
方法以下:https://blog.csdn.net/qq1124794084/article/details/79218596网站
在这里,咱们经过版权信息看到类型为:schoolCMS (注意:在有些时候打开网页的时候显示的后台登录,可是若是换一台电脑,呈现出来的多是网站的首页。。或者两者之间交换。。)ui
2.收集schoolCMS的相关信息:框架(及框架版本)、该框架可能存在什么漏洞。。而后发现schoolCMS获得
其官网:
框架为:thinkphp,版本号为3.2.3
3.搜索该版本的漏洞。发现小于thinkPHP3.2.3有漏洞一大堆。。。。
二 收集敏感信息
因为这里只是一个实验,,我就不作密码猜解了。。。(稍后回来试试)
三 开始实验
1. 登陆后台之后,发如今表格那里能够上传,表格能够与ASP文件合成上传吗??试一下。。
2.在后台管理页面--站点管理--能够上传主页logo
总结渗透第一步:收集资料,这个框架漏洞,经过报错来看(这里截图是另一个演示)。
0x03 漏洞分析
1.得知框架是thinkPHP3.2,查看其漏洞文件:
D:\PhpStudy\PHPTutorial\WWW\schoolcms\Application\common\common\funtion.php中的MyConfigInit()方法
*这里了解到common文件夹:共享资源文件夹,不少软件须要调用里面的文件
2.打开网址:http://127.0.0.1/schoolcms/schoolcms/admin.php?m=admin&c=site&a=index
发现这里能够上传,找到其分析文件
D:\PhpStudy\PHPTutorial\WWW\schoolcms\Application\Admin\Controller\SiteController.php的save方法
而后分析代码,在最后的save方法里面,将全部的用户进行校验并更新:
跟进那个save方法,跟进路径:
D:\PhpStudy\PHPTutorial\WWW\schoolcms\Application\Admin\Controller\CommonController.class.php这里面有个key函数
继续跟进这个S()方法的key函数,章老师说这里有个键注入。。我真的真的了解不清楚了哈哈哈
这个函数我是真的没有找到。。。不知道路径。。。
而后大佬的文档里面说:
D:\PHPstudy\PHPTutorial\WWW\SchoolCMS\schoolcms\Application\Runtime\Temp
这里就是缓存的咱们上传的文件,上传一次更新一次,点进去发现可【这里转换为php的原理是什么呢??】
而后咱们将咱们的payload放进去:@eval(@_POST['xixi']);//
0x04 漏洞利用
咱们直接访问上传logo的页面,而后抓包-->改包(改包就是将咱们的变量里面加入shell);
再查看服务器缓存文件:
发现shell已写入:
而后访问URL:
OK!