寂寞如雪的用脑过度,所以来写个博客分享一下。#虽然上一篇博客我还没写完

SVN的弱密码,看起来很复杂,但实际上很简单啊= =虽然不像pymssql/mymssql这种,Python提供了很好用的包,但如果了解其中的原理就很简单了~~

0x00 基本认知

首先要知道如下图所示的认证方式是什么认证:

这个涉及到HTTP认证方式,具体可以参考 http://blog.csdn.net/samlei/article/details/5485305

SVN用了最简单的Basic Auth。Basic Auth的利用非常广泛,比如Phpmyadmin的http认证方式,nodejs express框架里的basic-auth的插件等等。

0x10 判断当前请求是否需要认证

如果当前请求要求认证,在浏览器中,会弹出如上图所示的窗口,那如果在脚本中,如何判断?可以通过HTTP Response的头来验证:

import requests

res = requests.get('https://test.com/myspace', verify=False)
print res.headers

可以看到头部中包含了下面这个字段:

'www-authenticate': 'Basic realm=" Subversion"'

0x20 如何认证

针对basic-auth有两种方法:

1. 在HTTP头中添加Authorization

Authorization: "Basic 用户名和密码的base64加密字符串"

2. url中添加用户名和密码

http://user:password@test.com

0x30 python Requests中的认证模块

在写这篇博客,查资料的过程,发现了神器requests竟然包含了认证模块。#虽然0x20中提到的认证方式也很简单。

import requests
from requests.auth import HTTPBasicAuth r = requests.get('https://httpbin.org/hidden-basic-auth/user/passwd', auth=HTTPBasicAuth('user', 'passwd'))
# r = requests.get('https://httpbin.org/hidden-basic-auth/user/passwd', auth=('user', 'passwd')) # 简写
print(r.json())

0x40 最终代码

   def svn_busrt(self, url, user, password):
try:
res = requests.get('https://'+user+':'+password+'@'+url, verify=False, timeout=30)
except Exception, e:
print Fore.RED + "Connection Error"
self.count += 1
return if res.status_code == 200:
print Fore.GREEN + "[+] Success! %s\t%s:%s" % (url, user, password)
result_list.append([user, password])

SVN弱密码扫描(Python)的更多相关文章

  1. 基于Python+协程+多进程的通用弱密码扫描器

    听说不想扯淡的程序猿,不是一只好猿.所以今天来扯扯淡,不贴代码,只讲设计思想. 0x00 起 - 初始设计 我们的目标是设计一枚通用的弱密码扫描器,基本功能是针对不同类型的弱密码,可方便的扩展,比如添 ...

  2. 安全篇:弱密码python检测工具

    安全篇:弱密码python检测工具 https://github.com/penoxcn/PyWeakPwdAudit

  3. PYTHON测试邮件系统弱密码

    #-*- coding:utf-8 -*- #测试公司邮件系统弱密码, from email.mime.text import MIMEText import smtplib #弱密码字典 passL ...

  4. 测试教程网.unittest教程.5. 实例: 找出所有是弱密码的用户

    From: http://www.testclass.net/pyunit/test_example_3/ 背景 当我们的测试数据是下面这些的时候,我们的用例是有问题的. [ {"name& ...

  5. 测试教程网.unittest教程.4. 实例: 读取测试数据并测试弱密码

    From: http://www.testclass.net/pyunit/test_example_2/ 背景 接上一节的弱密码例子,我们的用例尽管运行的不错,但还是有点问题. 假如我们需要增加一些 ...

  6. 测试教程网.unittest教程.3. 实例: 测试弱密码

    From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...

  7. SSH-Auditor:一款SSH弱密码探测工具

    SSH-Auditor:一款SSH弱密码探测工具 freebuf 2018-09-16  ssh-auditor是一款可帮助你探测所在网络中ssh弱密码的工具. 特性 以下操作ssh-auditor都 ...

  8. IoT设备上的恶意软件——通过漏洞、弱密码渗透

    2018年,是 IoT 高速发展的一年,从空调到电灯,从打印机到智能电视,从路由器到监控摄像头统统都开始上网.随着5G网络的发展,我们身边的 IoT 设备会越来越多.与此同时,IoT 的安全问题也慢慢 ...

  9. 弱密码检测JR!

    1.JR(Joth the Ripper)简介·一款密码分析工具,支持字典式的暴力破解·通过对 shadow 文件的口令分析,可以检测密码·官方网站:http://www.openwall.com/j ...

随机推荐

  1. [改善Java代码]使用构造函数协助描述枚举项

    一.分析 一般来说,我们经常使用的枚举项只有一个属性,即排序号,其默认值是从0.1.2... ....但是除了排序号外,枚举还有一个(或多个)属性:枚举描述,它的含义是通过枚举的构造函数,声明每个枚举 ...

  2. C#基础性问题

    解决方案.项目.类之间的关系: 一个解决方案可以包含多个项目.一个项目可以包含多个类 解决方案:公司 项目:部门 类:员工 .sln:解决方案文件,里面包含着整个解决方案的信息,可以双击运行. .cs ...

  3. 实用工具推荐(Live Writer)(2015年05月26日)

    1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...

  4. 利用ExpandableListView和gridview 显示可展开折叠菜单导航

    这篇随身笔带来的是结合聚合数据“菜谱大全”做的一个菜谱可折叠一级+二级列表. 先发来一些截图一睹为快吧. ExpandableListView 可用于折叠型菜单列表,其布局主要通过getGroupVi ...

  5. sql中nvarchar(max)长度测试

    nvarchar(max)长度测试:在使用convert强制类型转化之后 文本长度可以突破8000的上限.并且nvarchar(max)的最大长度可达到2^31以下为验证SQL: Declare @A ...

  6. 使用subst创建虚拟磁盘及设置分区卷标

    最近项目中要研究在"计算机"中添加虚拟磁盘,能够访问某远端目录,同时还要在资源管理器中可以看到创建的虚拟磁盘.关于虚拟磁盘,有几种方式: (1)映射网络磁盘:通过映射网络驱动器,可 ...

  7. PYTHON:HTTP头设置工具(以附件名为例)

    import oss2 # 用户授权 auth = oss2.Auth('accessId', 'accessKey')# oss bucket bucket = oss2.Bucket(auth, ...

  8. 第五篇、微信小程序-swiper组件

    常用属性: 效果图: swiper.wxml添加代码: <swiper indicator-dots="{{indicatorDots}}" autoplay="{ ...

  9. c#winform音乐制作软件

    C#音乐播放器 这个音乐播放器是winform 功能有:(括号中是值得提高的部分) 1:登陆提示(查询数据库) 2:皮肤换肤的功能(能右键或者通过按键就能实现) 3:图片的轮换(图片的地址从数据库中抽 ...

  10. indeed2017校招在线编程题(网测)三

    A. Calculate Sequence 分析:就是斐波那契递推公式,但是初始值是指定的,只用求第10个数,数据范围和复杂度都比较小,直接写. B. 忘了叫啥了. 就是有a-j十个字符组成的字符串, ...