在一次偶然的机会发现公司某个网站存在thinkphp的远程命令执行漏洞,自此对这个漏洞爱不释手。这究竟是为什么呢?主要原因有2点:如果网站存在这个漏洞,我们可以去执行各种各样的系统命令来进行测试观察,尤其要是还有管理员权限就更舒服了;第二点,只要发现对应版本的thinkphp,漏洞利用步骤较为简单。(主要还是笔者太懒,hhh!!!)关于这个漏洞分析笔者就不在这里献丑了,主要是介绍下如何来去挖掘这个漏洞,以及笔者相关的一些思路。希望能给刚入安全圈的新人一点灵感。
漏洞简介
在2018年12月9日,thinkphp官方发布了一个重要的安全更新,修复了一个严重的远程命令执行漏洞。此次更新主要涉及到一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本儿包括5.0(< 5.0.23)和5.1(< 5.1.31)版本儿。
漏洞特性
这个特性可以说是大部分thinkphp框架的特性,在其网站url后输入一个不存在的路径,页面会报错,显示该网站一些配置信息以及thinkphp的版本儿,如图:
输入该网站一个不存在的路径11,或者是一些不存在的文件也可例如:11.php,11.txt。此时页面会报错,抛出异常,如图:
此时我们可以看到该网站的一些敏感配置信息比如网站路径,当然我比较感兴趣的还是这个thinkphp框架的版本,如图所示thinkphp版本儿清楚可见,看到这里可能大佬们就知道我接下来干啥了。
漏洞复现
笔者感觉自己这个漏洞利用的方式还是比较简单粗暴的,初始也是抱着试一试的想法,也没想到就成功了。
首先打开百度,然后搜索引擎内输入 “thinkphp5.0漏洞”,看到很多大佬的分析,随便点开一个链接,拿走大佬写好的payload。(当然这个paylaod自己也要根据实际情况做一点小改变,根据页面多观察几次来进行改动。如果网站漏洞已经修复了再去测试肯定不会成功了。)
开始漏洞复现:
利用system函数远程命令执行
payload:http://xxx.com/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami 如图
我们不难看出当前网站确实存在并且能够执行系统命令,后面的测试方法就比较大众化了,容笔者稍微说下,各位看官一看就懂:
漏洞分析
这里不是原理分析哈,只是笔者一点浅薄的看法和经验。
笔者发现thinkphp框架搭好以后,页面有如下图所示的一些字体。
然后又通过观察之前所构造的payload : http://xxx.com/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
想到谷歌搜索引擎强大的搜索功能 ,于是构造语句“ thinkphp十年磨一剑 inurl:index.php”(说实话结果我也是吓了一跳,)
搜到大量使用该框架的网站,而且通过钟馗之眼一类的搜索引擎通过搜索 “十年磨一剑 – 为API开发设计的高性能框架 [ V5.0+版本由+七牛云+独家赞助发布+]”也能搜索到大量此类网站。
据此可见有很多网站再使用thinkphp 5.0这一版本儿框架,可能搜到的这些网站有一些管理员已经修复该版本儿漏洞,但是应当还会有一大部分管理员仍未曾修复该漏洞。(想必这点大家都会想到,而且会有黑客用此类方法批量拿站)
观点
通过thinkphp 这一版本儿漏洞,笔者想到其实蛮多的。
emm希望有一天出现一个啥绝对的安全,这样我们就能愉快的转行,各位大佬和同僚也能实现自己的梦想,开超市的开超市,卖煎饼果子的卖煎饼果子 。。。。。若干年后又是一段传奇啊hhhh!!!
建议
漏洞修复建议:该版本儿thinkphp漏洞(大部分漏洞修复方式)修复最简单的修复方式就是升级到新版本,打补丁,或者进行手动修复等等。
当然还有一个问题也需要进行修复,就是笔者前面所说输入一个不存在的路径或文件页面会抛出很多系统相关信息以及路径,一旦和该网站别的漏洞相结合后患无穷。
关于相关搜索引擎网站应该加以限制。
希望以上东西能够帮到大家。
网站标题:通过Thinkphp框架漏洞所发现的安全问题
标题URL:http://www.csdahua.cn/qtweb/news42/356042.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网