检查网站挂马信息

回复 收藏
#!/bin/bash
# 2016 7 17
# 有问题联系ll104567@163.com
#具体函数不解释

##### 改语系
LANG=en

#####  因为md5sum不能跨目录进行md5、所以选择遍历目录进行操作
#####  没有包括隐藏目录、如有需求、请在for循环里加上ls -a 选项

#要检查的目录
dir=/root/pwb/tmp/md5

#存储要检查的文件
log=/tmp/a.log

#md5文件路径
md5_path=/tmp

#md5文件名
md5_file=a.md5

#错误log
failed_log=/tmp/failed.log

#如果启用true_check函数、、请填写邮箱
mail_box=example@example.com


for_dir()
{
        > $log
        for file  in `ls $1`
        do
                if [ -d $1"/"$file ];then
                        for_dir $1"/"$file
                else
                        echo $1"/"$file >> $log
                fi
        done
}

#for_dir $dir
##### Use  md5sum
make_md5()
{
        > $md5_path/$md5_file
        for i in `cat $log`
        do
                md5sum $i >> $md5_path/$md5_file
        done
}

##### check md5 file exist or not

check_md5()
{
        [ ! -f $md5_path/$md5_file ] && for_dir $dir && make_md5
}
do_something()
{
        echo "File has been changed" >> $failed_log
        cat failed_log|mail -s "Warning" $mail_box
}
true_check()
{
        a=`md5sum -c $md5_path/$md5_file | grep -i fail |wc -l`
        [ $a -ne 0 ] && md5sum -c $md5_path/$md5_file 2>/dev/null| grep -i fail > $failed_log && do_something
}
print_on_screen()
{
        a=`md5sum -c $md5_path/$md5_file | grep -i fail |wc -l`
        [ $a -ne 0 ] && echo 'Changed File:' && md5sum -c $md5_path/$md5_file | grep -i fail
}
update_md5()
{
        for_dir $dir && make_md5       
}

fool_main()
{
        check_md5
        a=`md5sum -c $md5_path/$md5_file | grep -i fail |wc -l`
        [ $a -ne 0 ] && md5sum -c $md5_path/$md5_file | grep -i fail > $failed_log
        [ $a -ne 0 ] && echo "Some file changed:" && cat $failed_log
        [ $a -ne 0 ] && read -p "请仔细检查以下文件、如果确定是自己改动、请更新md5文件(Y/n):"        choice
        [[ "$choice" == "Y"  ]] || [[ "$choice" == "y" ]] && update_md5
        [ $? -eq 0 ] && echo "Md5 file changed already."
}


main()
{
        check_md5
        print_on_screen

######  true_check
       
}

main
#fool_main
#update_md5
2016-07-17 19:40 举报
已邀请:
0

阿铭 管理员

赞同来自:

这叫啥挂马,这个脚本不就是检查文件有无变更么。 这不合适。 如果要做检查是否被挂马,首先要搞明白如果被挂马,文件将会变成什么样,根据特性去写对应的脚本。
0

gailun

赞同来自:

感谢老师说出真相,差点用了

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: