0

0

PHP的网站,怎么扫描出潜藏的一句话木马?(经历多个程序员,没有纯干净的备份文件,无法比对)

php中文网

php中文网

发布时间:2016-06-06 16:43:59

|

2074人浏览过

|

来源于php中文网

原创

PHP的网站,怎么扫描出潜藏的一句话木马?(经历多个程序员,没有纯干净的备份文件,无法比对),补充下,XAMPP程序,WIN 2003系统

回复内容:

我就不介绍工具了,搜一搜会有不少。
讲下思路,方便那些写工具或者自查的。
1.首先是把明显有问题的、已知模式的后门揪出来。
基于专家经验的特征总结,网上搜集大量webshell,基本上可以提取出一份特征库,
差不多可以扫掉常见不做处理的后门。
2.处理那些在你已知范围之外的后门,分为2个处理方式,
A 基于行为异常发现。
a)基于文件信息异常(如后缀带;的漏洞利用写法、asa伪造asp文件等,很多种)
b)文件头(如为绕过图片头识别的gif9a,但其实是文本的)
c)文件权限异常的(抓那些和网站用户权限不一样,却存在网站目录的文件)
d)文件行异常少的(抓一句话木马、菜刀马,不管是否变形比较有用)
e)基于访问日志对比发现url访问次数特别少的文件,而且ip集中的(一般就是后门拉,只有黑客会访问)
f)文件创建日期异常,比如下班时间创建的网页文件、特别新的网页文件
e)太多了,大家举一反三吧。
B 基于代码异常发现
基本上,这块大家用比较学术的方法,而且基本是靠算法公式或者机器学习,效果从理论上应该是最靠谱,但是作为一个一线工程师,我不太倾向用此类方法。
基于样本训练的,有朴素贝叶斯和贝叶斯,神经元算法,相当于你积累的特征库,要么经过你肉身的神经元去提供专家经验特征库,要么经过机器学习算法来算,就看是你的经验厉害还是机器的经验厉害。
还有基于IC、信息熵的,这块没实践,可以参考。
3.处理掉经过特殊处理的
还有少部分淫荡的老炮需要对付,那么我们对加密、变形的模式也要针对性进行识别。
a)对经过加密的进行识别
b)对经过变形的进行识别
c)对文件特征进行多文件切割的进行识别,就是互相引用关系需要处理。
……大家扩展吧。

总之招数不限,但是心法比较重要:
1. 过滤95%以上的明显合法文件,用人去确认5%不确定的,并且这里面提供一些分析结果参考
2. 黑名单不如白名单靠谱,因此建立一个干净的代码指纹库也很重要,对比一下能搞定大部分情况

最后出个损招,你代码发布不频繁,那就把代码都刻盘好了,光驱可读不可写。

PS。忽然搜到自己09年写的贝叶斯、舍费尔特征识别,没想到自己当年这么叼……
细节早忘光了,所以那些玩意的效果,你懂的。。。 参考:cnxct.com/pecker-scanne 一般哥都是直接用editplus的文件夹搜索功能搜索
eval($_POST 等敏感关键字,还有通过文件创建时间来判断。
个人觉得,找webshell这些都属于事后诸葛亮
还是得从控制读写权限,禁用危险php函数,降低web服务器运行权限等预防措施入手 这个问题比较难回答,php语言属于松散语言,对于简单的一句话来说用特征用可以查,但对于变形木马就难的多了,当然我一般都不叫php木马而叫后门检查、或者是webshell检查。
对于异常函数eval等方式的检查用正则去匹配就可以,但会产生大量的错报,如图这样,这个是我写了个程序并且构造了一些php一句话来测试。
PHP的网站,怎么扫描出潜藏的一句话木马?(经历多个程序员,没有纯干净的备份文件,无法比对)要检查php木马需要先搞清楚,哪些函数可能会被php木马使用,比如eval、base64_encode(gzuncompress) 这种是使用base64加密php木马函数,还有等等。

对于php变形后门,看到这里你就会发现去查找php木马会是多难的事情了,这里的一部分是可以用正则来匹配的,但是另外一部分你用正则匹配会非常、非常难。
[] [] Found [$___=$_*$_+$__+$__+$__+$__+$__+$__+$__;] Found [$_=($_[+""]|"0x06").($_[+""]|"0x05").($_[+""]^"0x15");] Found [] Found [@preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');] [

推荐下项目,这个项目是基于语义解析,然后查找出来恶意函数调用。Pecker Scanner 不是业内从业者,仅从原理说两句。
1、木马必须对外联络,不把所得信息对外传递的,不叫木马。
只破坏,不窃取信息的叫病毒
2、扫描网站中所有的的互联网地址。
3、剩下的,就人工审核吧,如果可以的话,对外联系采用白名单制。 fanghuyun.com/ 在用这个网站 防护扫描都很好 一般就是基于关键字的正则匹配和基于词法语法分析两种方法,个人认为基于词法语法分析的方法更准确些吧,同样推荐楼上几位提到 Pecker Scanner。
===============
另外说点题外话,今天特意花了点时间看了看 PS 的代码,给作者 @陈小鱼 提个 BUG,在对
T_STRING

把和文件操作,调用系统命令相关的代码都找出来,再依次排查。

Superflow Rewrite
Superflow Rewrite

AI辅助高效网站设计、协作、注释工具,迭代和发布网站的最快方式

下载
一些函数变种太多,工具只能扫描一些危险函数关键词
建议你人工审计吧..

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

33

2025.12.26

压缩文件加密教程汇总
压缩文件加密教程汇总

本专题整合了压缩文件加密教程,阅读专题下面的文章了解更多详细教程。

18

2025.12.26

wifi无ip分配
wifi无ip分配

本专题整合了wifi无ip分配相关教程,阅读专题下面的文章了解更多详细教程。

46

2025.12.26

漫蛙漫画入口网址
漫蛙漫画入口网址

本专题整合了漫蛙入口网址大全,阅读下面的文章领取更多入口。

91

2025.12.26

b站看视频入口合集
b站看视频入口合集

本专题整合了b站哔哩哔哩相关入口合集,阅读下面的文章查看更多入口。

283

2025.12.26

俄罗斯搜索引擎yandex入口汇总
俄罗斯搜索引擎yandex入口汇总

本专题整合了俄罗斯搜索引擎yandex相关入口合集,阅读下面的文章查看更多入口。

370

2025.12.26

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

35

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

25

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

72

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号