关于Klyda
Klyda是一款功能强大的Web应用程序安全漏洞检测工具,该工具本质上是一个高度可配置的脚本,可以帮助广大研究人员快速检测目标Web应用程序中是否存在基于凭证的攻击漏洞。当前版本的Klyda不仅支持使用密码喷射技术,而且还支持大规模多线程的字典攻击。
工具特性
1、支持多线程任务;
2、结合字典文件可实现大规模安全测试;
3、支持将数据列入黑名单以缩小结果范围;
4、限制了线程速度以更好地隐藏操作;
工具安装
由于该工具基于Python 3开发,因此广大研究人员首先需要在本地设备上安装并配置好Python 3环境。接下来,使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Xeonrx/Klyda
接下来,切换到项目目录中,然后使用pip命令安装该工具所需的依赖组件:
pip install requests beautifulsoup4 colorama numpy
配置完成之后,我们就可以使用下列命令来查看工具的帮助信息了:
python3 klyda.py -h
该工具主要针对的是Linux设计的,而Linux系统一般都自带了Python。
工具使用
Klyda的使用非常简单,我们只需要提供下列四个命令参数即可:
1、目标Web应用程序的URL
2、用户名
3、密码
4、表单数据
目标Web应用程序的URL
我们可以通过--url参数来提供和解析目标Web应用程序的URL:
python3 klyda.py --url http://127.0.0.1
注意,不要针对单个Web页面执行测试。
用户名
用户名即字典攻击测试的主要目标,我们应该提供一个用户名范围或列表文件。
手动指定:
python3 klyda.py -u Admin User123 Guest
文件组合:
python3 klyda.py -U users.txt extra.txt
手动指定+文件组合:
python3 klyda.py -U users.txt -u Johnson924
密码
密码为整个安全测试中最主要的部分,因为我们不知道密码,因此才需要字典&爆破测试。和用户名一样,我们可以手动指定单个密码,或提供一个密码列表。
手动指定:
python3 klyda.py -p password 1234 letmein
文件组合:
python3 klyda.py -P passwords.txt extra.txt
手动指定+文件组合:
python3 klyda.py -P passwords.txt -p redklyda24
表单数据
表单数据即你构造请求时使用的数据,一般来说,我们需要指定一个用户名、一个密码和一个额外的值,此时可以使用-d参数指定:
python3 klyda.py -d username:xuser password:xpass Login:Login
其中,xuser是注入用户名的占位符,xpass为注入密码的占位符,表单数据的格式为(key):(value)。
黑名单
字符串:
python3 klyda.py --bstr "Login failed"
状态码:
python3 klyda.py --bcde 404
内容长度:
python3 klyda.py --blen 11
线程限制
python3 klyda.py --rate (# of requests) (minutes)
例如:
python3 klyda.py --rate 5 1
工具使用演示
我们在下面的工具使用演示样例中,针对DVWA应用程序运行了Klyda并进行测试:
python3 klyda.py --url http://127.0.0.1/dvwa/login.php -u user guest admin -p 1234 password admin -d username:xuser password:xpass Login:Login --bstr "Login failed"
python3 klyda.py --url http://127.0.0.1/mutillidae/index.php?page=login.php -u root -P passwords.txt -d username:xuser password:xpass login-php-submit-button:Login --bstr "Authentication Error"
工具运行截图
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
Klyda:【GitHub传送门】