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年写的贝叶斯、舍费尔特征识别,没想到自己当年这么叼……
细节早忘光了,所以那些玩意的效果,你懂的。。。 参考:http://www.cnxct.com/pecker-scanner/ 一般哥都是直接用editplus的文件夹搜索功能搜索
eval($_POST 等敏感关键字,还有通过文件创建时间来判断。
个人觉得,找webshell这些都属于事后诸葛亮
还是得从控制读写权限,禁用危险php函数,降低web服务器运行权限等预防措施入手 这个问题比较难回答,php语言属于松散语言,对于简单的一句话来说用特征用可以查,但对于变形木马就难的多了,当然我一般都不叫php木马而叫后门检查、或者是webshell检查。
对于异常函数eval等方式的检查用正则去匹配就可以,但会产生大量的错报,如图这样,这个是我写了个程序并且构造了一些php一句话来测试。

对于php变形后门,看到这里你就会发现去查找php木马会是多难的事情了,这里的一部分是可以用正则来匹配的,但是另外一部分你用正则匹配会非常、非常难。
[]
[=${'_'.$_}['_'](${'_'.$_}['__']);?>] Found
[$___=$_*$_+$__+$__+$__+$__+$__+$__+$__;] Found
[$_=($_[+""]|"0x06").($_[+""]|"0x05").($_[+""]^"0x15");] Found
[=${'_'.$_}['_'](${'_'.$_}['__']);?>] Found
[@preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');]
[?]
[@preg_replace("/[pageerror]/e",$_POST['error'],"saft")] Found
[[$_GET[a]($_GET[b])] Found
[@preg_replace("/[email]/e",$_POST['h'],"error")] Found
[]
推荐下项目,这个项目是基于语义解析,然后查找出来恶意函数调用。Pecker Scanner 不是业内从业者,仅从原理说两句。
1、木马必须对外联络,不把所得信息对外传递的,不叫木马。
只破坏,不窃取信息的叫病毒
2、扫描网站中所有的的互联网地址。
3、剩下的,就人工审核吧,如果可以的话,对外联系采用白名单制。 https://www.fanghuyun.com/ 在用这个网站 防护扫描都很好 一般就是基于关键字的正则匹配和基于词法语法分析两种方法,个人认为基于词法语法分析的方法更准确些吧,同样推荐楼上几位提到 Pecker Scanner。
===============
另外说点题外话,今天特意花了点时间看了看 PS 的代码,给作者 @陈小鱼 提个 BUG,在对
T_STRING
把和文件操作,调用系统命令相关的代码都找出来,再依次排查。
一些函数变种太多,工具只能扫描一些危险函数关键词建议你人工审计吧..

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
