![]() |
Попробовал автоматизировать массовый чек CVE-2015-3306
Не получается нормально прогнать цикл сканирования, пробовал немного другой вариант , выходил бесконечный цикл. Подскажите где ошибка в г*коде .SpoilerTarget" type="button">Spoiler [CODE] #!/bin/bash if [ "$EUID" -ne 0 ] then echo -e "\e[1;31m Run as root \e[0m" exit fi printf "\rEnter filename:" read ip_addr_file if [ ! -f "$ip_addr_file" ] then echo -e "\e[1;31m File $ip_addr_file does not exist \e[0m" exit fi do_masscan(){ temp_count_=0 exec 3 /dev/null 2>&1 sed -i "1,$grep_" $temp_name_cat echo -e "\e[0;32m $read_count scanned of total $count_all \e[0m" if [ "$temp_count_" -le "0" ] then scan_finished else if [ "$temp_count_" -le "8000" ] then grep_=$((temp_count_))\d do_masscan fi fi } scan_finished(){ iptables -D INPUT -p tcp --dport $free_port -j DROP rm $temp_name_cat rm $temp_name_masscan echo echo -e "[ \e[0;32m Done \e[0m ]" echo echo -e "\e[0;32m Parsing output... \e[0m" cat $temp_name_masscan | grep 'ProFTPD 1.3.4a' | awk '{print $3}' | tr -d '",'>> $save_ass cat $temp_name_masscan | grep 'ProFTPD 1.3.5rc3' | awk '{print $3}' | tr -d '",'>> $save_ass while read -r save_ass do count_all=$((++count_total)) done |
В итоге сам выявил в говнокоде ошибку, теперь нормально сканит, кому надо берите)
.SpoilerTarget" type="button">Spoiler [CODE] #!/bin/bash if [ "$EUID" -ne 0 ] then echo -e "\e[1;31m Run as root \e[0m" exit fi printf "\rEnter filename:" read ip_addr_file if [ ! -f "$ip_addr_file" ] then echo -e "\e[1;31m File $ip_addr_file does not exist \e[0m" exit fi do_masscan(){ temp_count_=0 while read line do temp_count_=$((++temp_count_)) done > $save_ass cat $temp_name_masscan | grep 'ProFTPD 1.3.5rc3' | awk '{print $3}' | tr -d '",'>> $save_ass temp_file_sed=$(echo $temp_name_cat | md5sum | sed 's/...$//') sed -e "1,$grep_" $temp_name_cat >> $temp_file_sed mv $temp_file_sed $temp_name_cat echo -e "\e[0;32m $read_count scanned of total $count_all \e[0m" if [ "$temp_count_" -le "0" ] then scan_finished else do_masscan fi } scan_finished(){ iptables -D INPUT -p tcp --dport $free_port -j DROP echo echo -e "[ \e[0;32m Done \e[0m ]" echo while read -r save_ass do count_all=$((++count_total)) done Некорректно выводятся информационные сообщения, но работает |
Спс
|
| Время: 20:08 |