Python实现的检测网站挂马程序
2023-06-13 09:15:31 时间
系统管理员通常从svn/git中检索代码,部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员第一时间发现,可结合crontab或nagios等工具。
程序测试如下:
#pythoncheck_change.py Usage:pythoncheck_change.pyupdate/home/wwwroot pythoncheck_change.pycheck/home/wwwroot #pythoncheck_change.pyupdate/data/www#生成站点的md5值 #echo"">/data/www/sitemap.html#测试清空文件 #rm-rf/data/www/sitemap.xml#测试删除文件 #pythoncheck_change.pycheck/data/www#查找那些文件被篡改 /data/www/sitemap.xml /data/www/sitemap.html
代码如下(check_change.py):
#!/usr/bin/envpython importos,sys,subprocess defupdate(path): f=open(file,"w") forroot,dirs,filesinos.walk(path): fornameinfiles: line=os.path.join(root,name) (stdin,stderr)=subprocess.Popen(["md5sum",line],stdout=subprocess.PIPE).communicate() f.write(stdin) f.close() defcheck(path): f=open(file,"r") forlineinf: check_ok="""echo"%s"|md5sum-c>/dev/null2>&1"""%line #printcheck_ok ifnotsubprocess.call(check_ok,shell=True)==0: abnormal=line.split() printabnormal[1] f.close() defUsage(): print""" Usage:python%supdate/home/wwwroot python%scheck/home/wwwroot """%(sys.argv[0],sys.argv[0]) sys.exit() iflen(sys.argv)!=3: Usage() file="file.key" model=sys.argv[1] path=sys.argv[2] ifos.path.exists(path)==False: print"\033[;31mThedirectoryorfiledoesnotexist\033[0m" sys.exit() elifmodel=="update": update(path) elifmodel=="check": check(path) else: Usage()
相关文章
- pycharm虚拟环境与本地环境区别_python如何激活虚拟环境
- python 基尼系数_Python计算
- python jieba库_Python jieba库的使用说明「建议收藏」
- python截图识别文字_Python文字截图识别OCR工具实例解析
- Python与C/C++的区别(持续更新中……)[通俗易懂]
- python socket recvfrom_Python:socket.recvfrom()不返回任何地址
- 网站挂马检测 php,Python实现的检测网站挂马程序
- 【说站】python重写__new__ 方法
- 【测试开发】python系列教程:第一个Python程序
- Python+Django实现简单HelloWord网页
- python lambda表达式 if_Python学习-lambda表达式
- 粒子群优化算法python程序_粒子群算法的具体应用
- Python量化交易学习笔记(50)——程序化交易1
- Python自动签到
- 【测试开发】python系列教程:Python注释和解释器
- 【2023新书】可解释的AI谱系,使用Python实现模型可解释性和可解释性的解决方案
- 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( No module named ‘threadpool‘ )
- python中系统信息获取psutil使用详解编程语言
- Python开发系列课程(15) – Python参考书籍详解编程语言
- Linux系统如何运行Python脚本(linux执行python脚本)
- 开发Linux下Python编程:实现自己的开发梦想(linux下python)
- 使用 Python 为你的油箱加油
- Python如何连接PostgreSQL数据库?(python连接postgresql)
- Python在连接MSSQL数据库中的应用(python连mssql)
- Python编程连接MySQL:从零开始(python与mysql)
- python编程-将Python程序转化为可执行程序[整理]
- python实现sublime3的less编译插件示例
- 一个计算身份证号码校验位的Python小程序
- python批量同步web服务器代码核心程序