Submitted by gouki on 2009, April 16, 11:18 AM
虽然在用LINUX,但其实对于它的安全,并不是很了解,所以,看到有这样的文章时,还是会记录一下。
原文:http://item.feedsky.com/~feedsky/phpv/~1232318/202448855/1235221/1/item.html
来自:PHP5研究室
俗称“脚本小鬼”的家伙是属于那种很糟糕的黑客,因为基本上他们中的许多和大多数人都是如此的没有技巧。可以这样说,如果你安装了所有正确的补丁,拥有经 过测试的防火墙,并且在多个级别都激活了先进的入侵检测系统,那么只有在一种情况下你才会被黑,那就是,你太懒了以至没去做该做的事情,例如,安装 BIND的最新补丁。
一不留神而被黑确实让人感到为难,更严重的是某些脚本小鬼还会下载一些众所周知的“root kits”或者流行的刺探工具,这些都占用了你的CPU,存储器,数据和带宽。这些坏人是从那里开始着手的呢?这就要从root kit开始说起。
一个root kit其实就是一个软件包,黑客利用它来提供给自己对你的机器具有root级别的访问权限。一旦这个黑客能够以root的身份访问你的机器,一切都完了。 唯一可以做就是用最快的效率备份你的数据,清理硬盘,然后重新安装操作系统。无论如何,一旦你的机器被某人接管了要想恢复并不是一件轻而易举的事情。
你能信任你的ps命令吗?
找出root kit的首个窍门是运行ps命令。有可能对你来说一切都看来很正常。图示是一个ps命令输出的例子。真正的问题是,“真的一切都正常吗?”黑客常用的一个 诡计就是把ps命令替换掉,而这个替换上的ps将不会显示那些正在你的机器上运行的非法程序。为了测试个,应该检查你的ps文件的大小,它通常位于 /bin/ps。在我们的Linux机器里它大概有60kB。我最近遇到一个被root kit替换的ps程序,这个东西只有大约12kB的大小。
另一个明显的骗局是把root的命令历史记录文件链接到/dev/null。这个命令历史记录文件是用来跟踪和记录一个用户在登录上一台Linux机器 后所用过的命令的。黑客们把你的历史纪录文件重定向到/dev/null的目的在于使你不能看到他们曾经输入过的命令。
你可以通过在 shell提示符下敲入history来访问你的历史记录文件。假如你发现自己正在使用history命令,而它并没有出现在之前使用过的命令列表里,你 要看一看你的~/.bash_history 文件。假如这个文件是空的,就执行一个ls -l ~/.bash_history命令。在你执行了上述的命令后你将看到类似以下的输出:
-rw------- 1 jd jd 13829 Oct 10 17:06 /home/jd/.bash_history
又或者,你可能会看到类似以下的输出:
lrwxrwxrwx 1 jd jd 9 Oct 10 19:40 /home/jd/.bash_history -> /dev/null
假如你看到的是第二种,就表明这个 .bash_history 文件已经被重定向到/dev/null。这是一个致命的信息,现在就立即把你的机器从Internet上断掉,尽可能备份你的数据,并且开始重新安装系统。
寻找未知的用户账号
在你打算对你的Linux机器做一次检测的时候,首先检查是否有未知的用户账号无疑是明智的。在下一次你登录到你的Linux机器时,敲入以下的命令:
grep :x:0: /etc/passwd
只有一行,我再强调一遍,在一个标准的Linux安装里,grep命令应该只返回一行,类似以下:
root:x:0:0:root:/root:/bin/bash
假如在敲入之前的grep命令后你的系统返回的结果不止一行,那可能就有问题了。应该只有一个用户的UID为0,而如果grep命令的返回结果超过一行,那就表示不止一个用户。
认真来说,虽然对于发现黑客行为,以上都是一些很好的基本方法。但这些技巧本身并不能构成足够的安全性,而且其深度和广度和在文章头提到的入侵检测系统比起来也差得远。
Tags: php5研究室, linux
苹果相关 | 评论:0
| 阅读:20307
Submitted by gouki on 2008, September 1, 11:42 PM
从未想过,phpinfo页面居然有这么大的漏洞,在我想来,这纯粹是一个输出页面,怎么会有漏洞呢?
看了(抽烟的蚊子)写的:http://item.feedsky.com/~feedsky/phpv/~1232318/86146146/1235221/1/item.html,我才知道,原来还有这种事。
原文如下:
漏洞说明: php是一款被广泛使用的编程语言,可以被嵌套在html里用做web程序开发。phpinfo()是用来显示当前php环境的一个函数,许多站点和程序 都会将phpinfo放在自己的站点上或者在程序里显示,但是phpinfo里存在一些安全问题,导致精心构造数据就可以产生一个跨站脚本漏洞,可以被用 来进行攻击。
漏洞成因: phpinfo页面对输入的参数都做了详细的过滤,但是没有对输出的进行charset的指定,而在一些浏览器里如IE7里,你可以让它自动选择编码或者通过一个iframe页面给它指定编码,这样就可以饶过phpinfo的过滤而产生一个跨站脚本漏洞。
漏洞来源: http://www.80sec.com/release/phpinfo-xss.txt
漏洞利用: 利用代码如下:
<html>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7">
</head>
<body>
<iframe src="http://www.80sec.com/phpinfo.php?+ADw-SCRIPT+AD4-alert(document.domain);+ADw-/SCRIPT+AD4-=1">
以上代码在IE7+php 5.2.6测试成功。phpinfo页面的xss甚至比其他页面更加危险,因为如果有phpinfo的存在,恶意攻击者可以利用phpinfo的输出bypass如httponly和一些基础认证。
漏洞影响: 影响所有版本的php和浏览器IE7
漏洞修补: 建议暂时删除站点的phpinfo页面避免被人利用。
太吃惊了
Tags: 漏洞, xss, phpinfo, 脚本, 跨站
PHP | 评论:0
| 阅读:24547
Submitted by gouki on 2008, August 26, 9:18 PM
感觉有点对不起贝壳同学,因为他在我网上好不容易留了一个评论,我就去他的网站抠了一篇文章。不过,文章对我确实有用,因为我以前确实只关心了两样东西:PV和IP,说实话,确实不知道UV是啥东西。也是用了yahoo统计才知道UV,但具体是什么东西,我不知道。看到贝壳的文章。恍然大悟。
原文:PV UV IP的区别
什么是PV:
PV是page view的简写。PV是指页面刷新的次数,每一次页面刷新,就算做一次pv流量。
PV高一定代表来访者多吗?
解答:不一定如此,一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,例如,同一个来访者通过不断的刷新页面,也可以制造出非常高的PV。
什么是IP:
IP是国际互联网协议(Internet Protocol)的简称,是通过网络间信息地址定位具体计算机的方式之一。
统计独立IP的主要作用是什么?
独立IP表示,拥有特定唯一IP地址的计算机访问您的网站的次数,因为这种统计方式比较容易实现,具有较高的真实性,所以成为大多数机构衡量网站流量的重要指标。
什么是UV:
UV是unique visitor的简写,是指独立用户。
什么是独立用户?它和IP的概念有什么区别?
解答:ip在这里是指,公用的广域网传输协议族(Tcp/Ip)为每一台处在因特网上的计算机(可以是个人电脑、服务器以及其他兼容广域网传输协议族规定 的接入设备)都定义了四个段落(例如:192.168.0.255形式,有时会加入第五段落端口号作为描述信息,端口号是介于1-65535之间的数字) 共 32位长度二进制代码的标识,叫IP协议地址,简称ip地址,俗称ip,它是一个一台连接着广域网的计算机区别于其他机器的标识,一般情况下,它在同一级 别的网络(例如某个局域网、社区网、教学楼网或者INTERNET)范围内是唯一的。
独立用户是指不同的、通过互联网访问、浏览这个网页的自然人。
比如,在一台电脑上,哥哥打开了微软的官方主页,注册了一个会员。弟弟一会儿也看了看,注册了另一个会员。由于兄弟两个使用的是相同的计算机,那么他们的 ip是一样的,微软的官方计数器记录到一个ip登陆的信息。但是,具有统计功能的统计系统,可以根据其他条件判断出实际使用的用户数量,返回给网站建设者 真实、可信和准确的信息。比如通过注册的用户,甚至可以区分出网吧、机房等共享一个ip地址的不同计算机。
使用独立用户作为统计量有什么好处?它比ip更加准确吗?
解答:ip是一个反映网络虚拟地址对象的概念,独立用户是一个反映实际使用者的概念,每个独立用户相对于每个ip,更加准确地对应一个实际的浏览者。使用独立用户作为统计量,可以更加准确的了解单位时间内实际上有多少个反问者来到了相应的页面.
——END——
不知道的同学,也可以好好研究一下。如何更好的为自己的网站增加点IP、PV、UV之类的。HOHO

Misc | 评论:3
| 阅读:23085