首页 安全基础 网络安全 安全协议 病毒分析 防火墙 OS安全 无线安全 Web安全 PKI与PMI 入侵检测 经典案例
安全审计 设备安全 安全管理 安全标准 法律法规 隔离网闸 DB安全 XML安全 开源项目 资源下载 安全论坛 备份恢复
 当前位置:首页>>WEB安全>>php安全>>正文
用PHP检查特洛伊木马NETBUS的代码
文章出处:www.yestar2000.com 作者:yestar2000   发布时间:2004-09-09   点击:0
 

<?php

//特洛伊木马NETBUS的功力很强,用过的人可能印象比较深,我的影响也算是比较深的

//下面的测试只是对部分端口,而NETBUS是可以改变监听端口的。

function connectToPort ($host, $port) {

$status = 0;



print "<p><code>Trying port $port at $host...";



//打开端口

$socket = fsockopen($host, $port, &$errno, &$errstr);



if ($socket) {

//看端口是否打开,打开的话,那就糟了

print "<br>Port $port connection established - BAD!</code></p>";

$status = 1;

set_socket_blocking($socket, 0);



$count = 0;

$portOutput = "";



// We will not keep trying for ever; let's stop after

// 10000 glances

while ($count < 10000) {

if ($readString = fread($socket, 1)) {



// Convert <, >, " and & to HTML entities

$readString = htmlspecialchars($readString);



// Add the output to the sum of output

$portOutput .= $readString;

}

$count++;

}



// Enough of this. Close the connection.

fclose($socket);



if ($portOutput != "") {

print "<p><code>Output:</code></p><pre>$portOutput</pre>";

}



} else {

// In case we have good news:

print "<br>Port $port connection refused - good</code></p>";

}



// Return status for the port we just examined

return $status;

}



function printForm ($host, $uri) {



// Make sure the user knows what's going on.

// This should not be dangerous in any way, but let's ask anyway

print "

<form method=post action=\"$uri\">

<p>Permission to <span class=permit>connect to ports 12345

and 12346 at host

<code>$host</code></span>&nbsp;granted:&nbsp;&nbsp;<input

type=checkbox name=permission value=\"ok\"></p>

<p><input class=submit type=submit></p>

</form>

";

}



// **********

// MAIN

// **********



// Some definitions - the standard Netbus ports

$netBusPortA = 12345; //这是NETBUS监听的缺省端口

$netBusPortB = 12346;



// This may seem stupid; but if PHP is running in 'safe mode',

// the SCRIPT_URI environment variable doesn't seem to

// be readily available

$uri = "http://" . $SERVER_NAME . $REQUEST_URI;



// Standard CGI environment variable; we are not using CGI, but

// fortunately, the variable is still avaliable

$host = gethostbyaddr($REMOTE_ADDR);



// Requesting host innocent until otherwise proven

$netBusStatus = 0;



// Trying to make sure that the user actually wants me

// to scan his/her ports. - And trying to make sure that nobody is

// directly linking to the script.

if (!(($permission == "ok") &&

($REQUEST_METHOD == "POST") && ($HTTP_REFERER == $uri))) {

// Write the permission-asking form - i.e. call the

// previously defined 'printForm' function

printForm($host, $uri);

} else {

// Paranoia checks OK. Let's do it

print "

<h2>Processing host $host...</h2>

<table border=1 cellpadding=5>

";



print "<tr><td>";



// Call script and add the status to the sum of status

// codes. The function 'connectToPort' is defined above

$netBusStatus += connectToPort($host, $netBusPortA);

print "</td></tr>";



print "<tr><td>";

// Call the connect-function again for the other port

$netBusStatus += connectToPort($host, $netBusPortB);

print "</td></tr>";



print "</table>";



// Summarize results

print "<h2>Conclusion</h2>";



if ($netBusStatus > 0) {

// Damn. The sum of status codes should be zero.

// User probably has Netbus installed.

print "

<p>Connection to at least one Netbus port

succeeded. That's a <strong class=bad>bad</strong> sign!</p>

<p>This means that you probably have Netbus installed

on your computer. See

<a href=\"http://www.iss.net/xforce/alerts/advise8.html\">ISS'

alert summary</a> for removal instructions.</p>

";

} else {

// It's nice to bring good news

print "

<p>No Netbus ports responded at host $host.

Congratulations - that's a <strong class=good>good</strong> sign!</p>

<p>This may not be a definitive test, though:

<br> - If Netbus is installed at non-standard ports or

<br> - if you are sitting behind a firewall,

<br>this utility will fail to detect Netbus.</p>

<p>You may <a href=\"$uri\">try again</a>.</p>

";

}

}



?>
 

 

作者:
[返回顶部↑]  [推荐好友] [查看评论]  
用户名: 新注册) 密码: 匿名评论 [查看评论]  发表评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 
↑文章搜索
  关键字:  
  范  围:  
  开始搜索  
※相关文章※
 

◎PHP正反加密解密类
◎ 修改Zend引擎实现
◎php用户认证及管理(完全版
◎ 信用卡安全验证代
◎PHP图片认证访问方法
◎ 如何在PHP里启动
◎PHP实现文件安全下载

 
※热点文章※
  ·PHP数据加密
·通过对php一些服务器端特性
·通过对php一些服务器端特性
· 如何对PHP程序中
·PHP实现文件安全下载
· 如何在PHP里启动
·PHP图片认证访问方法
 

关于我们 | 征搞启示 | 版权信息 | 联系我们 | 友情链接

版权所有:中国信息安全组织 © 2003-2005 Power by DedeCms