如何在linux的shell命令中使用find查找图片木马
1、把图片转为.xdd文件
/usr/bin/xxd $x >$OMulu/${x/\./_}.xdd

2、用find命令 依据是否包含木马特征码判断原图片是否含有木马
find $Mulu -name "$EXT" |xargs grep "request" >> $logFile

3、可以上面的代码自行运用 来实现更高级的功能:如自动,定时,报警等。
1、运行实例如图



2、源码如下
```shell
#!/bin/bash
#需要传递检测文件类型,检测目录,输出目录。
# shell命令通过find 查看图片中是否包含木马
# 木马特征需要根据实际情况进行更新
#支持类型:jpg gif png jpeg
#使用格式说明:./findpic.sh 类型 图片目录 xdd保存目录
#输出的日志文件被保存在 xdd目录下的 findpiclog.log文件中
#使用方法 ./findpic.sh gif /data0/test /data0/test/xdd
#使用方法 ./findpic.sh jpg /data0/test /data0/test/xdd
#使用方法 ./findpic.sh jpge /data0/test /data0/test/xdd
#使用方法 ./findpic.sh png /data0/test /data0/test/xdd
# shel字符串替换
#echo ${test/\//\\}
EXT="*.jpg"
iMulu=./
OMulu=./xdd
if [ -n "$1" ] #如果$1即参数1不为空,又即存在参数1
then
EXT="*.$1" # 使用引号来使#被转义
fi
if [ -n "$2" ] #如果$2即参数1不为空,又即存在参数1
then
iMulu="$2" # 使用引号来使#被转义
fi
if [ -n "$3" ] #如果$3即参数1不为空,又即存在参数1
then
OMulu="$3" # 使用引号来使#被转义
fi
mkdir -p $iMulu
mkdir -p $OMulu
myfunc()
{
for x in $(find $iMulu -name "$EXT")
do
if test -f $x
then
#echo "$x" >> mm.log
mkdir -p $(dirname $OMulu/${x})
/usr/bin/xxd $x >$OMulu/${x/\./_}.xdd
fi
if test -d $x
then
cd "$x";
myfunc;
cd ..
fi
done
}
myfunc
#查找webshell
Mulu=$OMulu
logFile=$OMulu/findpiclog.log
EXT="*.xdd"
echo -ne '\n\n\n\n\n' >> $logFile
echo "---eval----$Mulu " >> $logFile
find $Mulu -name "$EXT" |xargs grep "eval" >> $logFile
#增加一句话木马的变形查找
echo "---eval 一句话木马 变形查找----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "$\w*();" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---shell_exec----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "shell_exec" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---execute----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "execute" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---request----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "request" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---%----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "%>" >> $logFile
echo -ne '\n\n\n\n\n' >> $logFile
echo "---base64_decode----" >> $logFile
find $Mulu -name "$EXT" |xargs grep "base64_decode" >> $logFile
echo -ne '\n#=end\n\n\n\n' >> $logFile
```
