BBS水木清华站∶精华区
作者: TJSheu (小兆)
标题: [转录]nph-test-cgi Script Exploit
时间: Fri Feb 21 15:10:53 1997
================================================================================
The DataHaven Project
____ SECURITY ADVISORY ____
<jrichard@fix.net>
10 December 1996
Revised: 11 December 1996
================================================================================
程式: nph-test-cgi 一个普遍被安装的 CGI Script □本。
问题: 任何人可以通过 web 远端来看你系统。
□围: 大多数的以 Unix 为平台的 WWW 伺服器,且用预设值来按装CGI Script,
可以被攻击。
日期: 10 December 1996
作者: jrichard@fix.net (Josh Richards)
译者: TJSheu on HIT
描述: 在大多数以Unix为平台的WWW 伺服器,在nph-test-cgi script存在者一个
安全上的漏洞。这些 "nph* script" 允许透过HTTP协定让"不正确文法的
档头(non-parsed headers)"传送。(不过,这不是导致这个安全问题的原因
。这个问题在於nph-test-cgi,它可以传出现在web伺服器□环境的资讯。(
就像test-cgi所做的工作)。nph-test-cgi□ quotes 没有把参数'echo'包围
好,但要shell出来是不可能的。(或者是我还没有发现它)。这个问题意谓者
,远端的使用都可以轻的通过WWW来浏览你的系统。
这个问题是出在 nph-test-cgi 这个 script ,而不是 server 本身。
版本: 目前已知且验证过的版本。
NCSA HTTP 1.3, 1.4, 1.4.1, 1.4.2, 1.5.1, 1.5.2, 1,5.2a
Apache HTTP 0.8.11, 0.8.14, 1.0.0, 1.0.2, 1.0.3, 1.0.5, 1.1.0
请注意最新的版本 1.1.1 和 1.2b2 或更新的版本,这个 script 并不
包括在这些版本□,但如果你是从更早的版本升级上来的话(或NCSA HTTP)
,这个 script 可能仍然在你的伺服器□。
Apache-SSL HTTP 1.0.5
1.1.1 (看 Apache 的附注。)
StrongHold 1.3.2 (basically Apache 1.1.1 + SSL extensions)
Netscape
Communications 1.1, 1.12
Enterprise 2.0a
Commerce 1.12
BESTWWWD 1.0
Microsoft
[状况不明--我没有伺服器可以做测试]
攻击:
键入 URL: <http://yourwebserver.com/cgi-bin/nph-test-cgi?*>
将 <yourwebserver.com> 换成靠近你的伺服器。
[请注意在URL结尾的"*"字号,它是非常重要的。]
现在请你仔细的看开头为"QUERY_STRING"这那一行,它看起来对你是不是很
熟呀??它应该是的(如果不是的话就请你多看一下你自己的系统)
类似的 URL: <http://yourwebserver.com/cgi-bin/nph-test-cgi?/*>
可以让使用者传回伺服器的档案系统和目录结构。
历史: 一个类似的漏洞在1996年四月被L0pht advisory所发表(test-cgi),後来
就被大部份的WWW伺服器所修正。你可以看:
<URL:http://www.l0pht.com/advisories/test-cgi-vulnerability>
以得到更多的资讯。
修正: chmod 700 nph-test-cgi
如果你需要让这个script继续执行(我不知道为什麽需要),你可以做下列的
动作:
echo QUERY_STRING = $QUERY_STRING
这一行改为
echo "QUERY_STRING = $QUERY_STRING"
预防: 在做完上面所说的措施之後,看你伺服器上的access_logs,用
grep "nph-test-cgi" 来看看有无执行 "/cgi-bin/nph-test-cgi"。
注意: 有很多的 CGI Script 没有检查输入环境/变数,请仔细检查你的 shell
script。
BBS水木清华站∶精华区