首页 网络安全 安全学院 查看内容

shard:密码重用检测工具

2016-9-9 17:56 1076 0

摘要: 许多用户都会在不同网站使用相同的密码,这种做法势必会带来很多安全隐患,而今天要介绍的shard就是一个检测密码重用的命令行工具。用法参数列表:Shard (1.5) 有三种运行模式: 1) 单用户、单密码、 - 使用 -u 和 -p ...

许多用户都会在不同网站使用相同的密码,这种做法势必会带来很多安全隐患,而今天要介绍的shard就是一个检测密码重用的命令行工具。

用法

参数列表:

Shard (1.5) 有三种运行模式:
1) 单用户、单密码、          - 使用 -u 和 -p
2) 单用户、多密码            - 使用 -u 和 -f
3) 多用户、多密码            - 只使用 -f
在这里https://github.com/philwantsfish/shard/wiki查看更详细的用例。
用法: java -jar shard-1.5.jar [options]
  -u, --username 

  
   
   要测试的用户名
  -p, --password 
 
   
    
    要测试的密码
  -f, --file 
  
    
     
         包含用户名和口令的文件的路径
  --format 
   
     
      
            登录凭证的格式。必须包含两组正则表达式。第一组中是用户名,第二组是密码。默认匹配下面的格式:
        "username":"password"
  -l, --list              列出模块
  -v, --version           打印版本号
  --modules 
    
      
       
            运行特定模块。逗号分隔的列表
  --help                  打印使用方法
    
      
   
     
  
    
 
   

  

模块列表:

$ java -jar shard.jar -l
Available modules:
        Facebook
        LinkedIn
        Reddit
        Twitter
        Instagram
        GitHub
        BitBucket
        Kijiji
        DigitalOcean
        Vimeo
        Laposte
        DailyMotion

例子

提供一个用户名和口令,shard就会尝试登录多个网站:

$ java -jar shard.jar -u username-here -p password-here
21:16:25.950 [+] Running in single credential mode
21:16:30.302 [+] username-here:password-here - Reddit, Instagram

可以提供一个文件测试多个登录凭证。默认是一行一组登录凭证,格式为”username”:”password”。可以使用–format参数指定格式

$ java -jar shard.jar -f /tmp/creds.txt
21:16:39.501 [+] Running in multi-credential mode
21:16:39.516 [+] Parsed 2 credentials
21:16:42.794 [+] username1:password1 - Reddit, Instagram
21:16:45.189 [+] username2:password2 - Facebook, LinkedIn, Twitter

安装

在 这里 下载最新版本,这里有已经使用sbt编译过的版本。

也可以自己使用sbt编译,sbt assembly

开发新的模块

增加新的模块很容易。创建一个继承module package中的AbstractModule的新类,并将之添加到ModuleFactory中即可。

AbstractModule有一个抽象方法:

def tryLogin(creds: Credentials): Boolean

这个方法接收一个Credentials对象作为参数,返回一个布尔值,表明是否登录成功。可以将TwitterModule作为模板。在 这里 了解更多对增加新模块的说明。

依赖库:

使用JSoup进行HTTP通信和HTML解析

使用spray-json处理json

如果你不熟悉Scala,可以查看secondary_implementations文件夹中的内容。这里面是使用其它语言写的shard。如果你在这里面增加了一个模块,我会用Scala重写一个,增加到主工程里面。

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部