后门这东西好让人头疼,第一文件太多了,不容易找,第二,难找,需要特征匹配啊。搞了一个python版查杀php webshell后门工具,大家可以增加后门的特征码,然后甩到后台给他查杀就可以了。适合Linux系统服务器的站长们
这个代码比较简单,大家可以自己继续完善下。主要是根据特征来匹配查找网站木马后门文件。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#blog:www.sinesafe.com
importos
importsys
importre
rulelist =[
'(\$_(GET|POST|REQUEST)\[.{0,15}\]\(\$_(GET|POST|REQUEST)\[.{0,15}\]\))',
'(_decode\([\'"][\w\+/=]{200,}[\'"]\))',
'eval\(_decode\(',
'(eval\(\$_(POST|GET|REQUEST)\[.{0,15}\]\))',
'(assert\(\$_(POST|GET|REQUEST)\[.{0,15}\]\))',
'(\$[\w_]{0,15}\(\$_(POST|GET|REQUEST)\[.{0,15}\]\))',
'(w\.shell)',
'(gethostbyname\()',
'(cmd\.exe)',
'(shell\.application)',
'(documents\s+and\s+settings)',
'(system32)',
'(serv-u)',
'(提权)',
'(phpspy)',
'(后门)',
'(webshell)',
'(Program\s+Files)'
]
defScan(path):
forroot,dirs,files inos.walk(path):
forfilespath infiles:
isover =False
if'.'infilespath:
ext =filespath[(filespath.rindex('.')+1):]
ifext=='php':
file=open(os.path.join(root,filespath))
filestr =file.read()
file.close()
forrule inrulelist:
result =re.compile(rule).findall(filestr)
ifresult:
print'文件:'+os.path.join(root,filespath)
print'恶意代码:'+str(result[0])
print'\n\n'
break
ifos.path.lexists(sys.argv[1]):
print('\n\n开始扫描:'+sys.argv[1])
print(' 可疑文件 ')
print('########################################')
Scan(sys.argv[1])
print('提示:扫描完成-- O(∩_∩)O哈哈~')
else:
print'提示:指定的扫描目录不存在--- 我靠( \'o′)!!凸'
查到后门文件后 直接删除掉,光删除是不行的得找到问题的根源到底是从哪里的漏洞上传上来的,那就有必须要对程序代码进行安全审计了建议大家找专业做安全的来做深入的安全部署(建议找专业做安全的国内公司如:Sinesafe,绿盟,启明星辰等等都是比较不错的专业做网站安全的公司)
专注于安全领域 解决网站安全 解决网站被黑 网站被挂马 网站被篡改 网站安全、服务器安全提供商-www.sinesafe.com --专门解决其他人解决不了的网站安全问题.