修复bash漏洞的shell脚本分享

在网上搜资料找到一个大神写的shell修复bash漏洞脚本,觉得很不错,拖到我blog里来共享给大家.


脚本内容:



#/bin/bash

#Author Alex Fang. Updates may apply soon.

clear

echo "Press anykey to continue..." $anykey ; read anykey echo "BBBBBBBBBBBAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSSSSSSSSHHHHHHHHHHHHHHHHHHHH!" echo "ShellShockFixer v0.1 by Alex Fang. Liscence: GNU GPLv2" echo "######################################################" echo "Select on option:" echo "1) CentOS" echo "2) Debian Wheezy" echo "3) Debian Squeeze x64(Provided by Aliyun)" echo "4) Debian Squeeze x32(Provided by Aliyun)" echo "5) Ubuntu" echo "6) OpenSuSE x64(Beta, provided by Aliyun)" echo "7) OpenSuSE x32(Beta Aliyun)" echo "8) Aliyun Linux x64" echo "9) Aliyun Linux x32" echo "0) iptables way" echo "11) Temporily disable bash through chmod" echo "######################################################" read x if test $x -eq 1; then  clear  echo "Fixing......"  yum clean all  yum makecache  yum update bash  echo "Finished!"   elif test $x -eq 2; then   clear   echo "Fixing for Debian Wheezy..."   apt-get update   apt-get -y install --only-upgrade bash   echo "Finished!"

elif test $x -eq 3; then   echo "Fixing for Debian Squeeze x64..."   wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3+deb6u2_amd64.deb &&  dpkg -i bash_4.1-3+deb6u2_amd64.deb    echo "Finished!"   elif test $x -eq 4; then   echo "Fixing for Debian Squeeze x32..."   wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3+deb6u2_i386.deb &&  dpkg -i bash_4.1-3+deb6u2_i386.deb   echo "Finished!"   elif test $x -eq 5; then   echo "Fixing for Ubuntu..."   apt-get update   apt-get -y install --only-upgrade bash   echo "Finished!"   elif test $x -eq 6; then   echo "Fixing for OpenSuSE x64"   wget http://mirrors.aliyun.com/fix_stuff/bash-4.2-68.4.1.x86_64.rpm && rpm -Uvh bash-4.2-68.4.1.x86_64.rpm   echo "Finished!"   elif test $x -eq 7; then   echo "Fixing for OpenSuSE x32"   wget http://mirrors.aliyun.com/fix_stuff/bash-4.2-68.4.1.i586.rpm && rpm -Uvh bash-4.2-68.4.1.i586.rpm  echo "Finished!"   elif test $x -eq 8; then   echo "Fixing for Aliyun Linux x64..."   wget http://mirrors.aliyun.com/centos/5/updates/x86_64/RPMS/bash-3.2-33.el5_10.4.x86_64.rpm && rpm -Uvh bash-3.2-33.el5_10.4.x86_64.rpm    echo "Finished!"

elif test $x -eq 9; then   echo "Fixing for Aliyun Linux x32..."   wget http://mirrors.aliyun.com/centos/5/updates/i386/RPMS/bash-3.2-33.el5_10.4.i386.rpm  && rpm -Uvh bash-3.2-33.el5_10.4.i386.rpm 

elif test $x -eq 0; then   echo "Deploying iptables rules..."   iptables --append INPUT -m string --algo kmp --hex-string '|28 29 20 7B|' --jump DROP   iptables using -m string --hex-string '|28 29 20 7B|'   echo "Finishing..."   elif test $x -eq 11; then   echo "Chmod way configuring..."   chmod o-x bash   echo "Finishing..."

else   echo "Invalid Operation."   exit fi