shard:密码重用
作者:admin | 时间:2016-9-10 11:38:13 | 分类:黑客工具 隐藏侧边栏展开侧边栏
许多用户都会在不同网站使用相同的密码,这种做法势必会带来很多安全隐患,而今天要介绍的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 <value> 要测试的用户名
-p, --password <value> 要测试的密码
-f, --file <value> 包含用户名和口令的文件的路径
--format <value> 登录凭证的格式。必须包含两组正则表达式。第一组中是用户名,第二组是密码。默认匹配下面的格式:
"username":"password"
-l, --list 列出模块
-v, --version 打印版本号
--modules <value> 运行特定模块。逗号分隔的列表
--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重写一个,增加到主工程里面。
* 参考来源:github,felix编译