按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
C:》ftp 10。1。1。2
如果返回,
Connected to 10。1。1。2。
220 sgyyq…c43s950 Microsoft FTP Service (Version 5。0)。
User (10。1。1。2:(none)):
那么这就肯定是一台win2000的机子了,我们还可以知道主机名呢,主机名就是sgyyq…c43s950。这个FTP是windows的IIS自带的一个FTP服务器。
如果返回,
Connected to 10。1。1。3。
220 Serv…U FTP Server v4。0 for WinSock ready。。。
User (10。1。1。3:(none)):
也可以肯定它是windows的机子,因为Serv…U FTP是一个专为windows平台开发的FTP服务器。
如果返回,
Connected to 10。1。1。3。
220 ready; dude (vsFTPd 1。1。0: beat me; break me)
User (10。1。1。3:(none)):
那么这就是一台UINX的机子了。
3、如果开了23端口,这个就简单了,直接telnet上去。
如果返回,
Microsoft ? Windows ? Version 5。00 (Build 2195)
Wele to Microsoft Telnet Service
Telnet Server Build 5。00。99201。1
login:
那么这肯定是一台windows的机子了
如果返回,
SunOS 5。8
login:
不用说了,这当然是一台UINX的机子了,并且版本是SunOS 5。8的
三、利用专门的软件来识别
这种有识别操作系统功能的软件,多数采用的是操作系统协议栈识别技术。这是因为不同的厂家在编写自己操作系统时,TCP/IP协议虽然是统一的,但对TCP/IP协议栈是没有做统一的规定的,厂家可以按自己的要求来编写TCP/IP协议栈,从而造成了操作系统之间协议栈的不同。因此我们可以通过分析协议栈的不同来区分不同的操作系统,只要建立起协议栈与操作系统对应的数据库,我们就可以准确的识别操作系统了。
下面是简单介绍两款有识别功能的软件,具体用法我就不说,你可以到网上去找找相应软件的说明使用
一是nmap;下载地址:linuxeden/download/indexsoft。php?category=syssecure 它采用的是主动式探测,探测时会主动向目标系统发送探测包,根据目标目标机回应的数据包来,叛断对方机的操作系统。
2、 天眼,采用的是被动式的探测方法。不向目标系统发送数据包,只是被动地探测网络上的通信数据,通过分析这些数据来判断操作系统的类型。配合supersan使用,较果很好。
下载地址 xfocus/tools/200206/天眼1。0。5。zip
『第9天』从FTP入侵到SQL
大家都知道FTP,但很多人都讲不好它具体指什么,FTP是指文件传输协议,因特网上常用的文件传输协议,它使用户能够在两个联网计算机间实现文件传输,是因特网上传递文件最主要的方法。在使用FTP进行文件传输时,首先启动FTP客户端程序与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后给予响应,并执行正确的命令。除此之外,FTP还提供登录、目录查询、文件操作及其他会话控制功能。 很详细了吧,别老是认为FTP就是传文件的软件,呵呵
因为FTP是一种文件传输方式,所以要入侵它就有点困难了,一般现在都没什么用了,因为即使你取得了上传权限也无法直接执行程序,在UNIX或是早期一些主机上或许有一些溢出或是越权的漏洞。今天我们说这个是因为很多FTP都是可以匿名登陆的(各个高校的至少对校内的都是吧,也有严格的好像科大的就是需要很严格的认证,晕^^^),这就有文章做了
对了,说到这我想说一下FTP的一些基本命令,大家可能都知道,还是说一下 (以人为本嘛)很长的,希望大家耐性看
FTP命令:
FTP的命令行格式为: ftp …v …d …i …n …g '主机名' ,
其中 …v 显示远程服务器的所有响应信息;
…n 限制ftp的自动登录,即不使用;。n etrc文件;
…d 使用调试方式;
…g 取消全局文件名。
FTP使用的内部命令如下(中括号表示可选项):
1。!'cmd'args》:在本地机中执行交互shell,exit回到ftp环境,如:!ls*。zip
2。 macro…ame'args': 执行宏定义macro…name。
3。account'password': 提供登录远程系统成功后访问系统资源所需的补充口令。
4。append local…file'remote…file':将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5。ascii:使用ascii类型传输方式。
6。bell:每个命令执行完毕后计算机响铃一次。
7。bin:使用二进制文件传输方式。
8。bye:退出ftp会话过程。
9。case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10。cd remote…dir:进入远程主机目录。
11。cdup:进入远程主机目录的父目录。
12。chmod mode file…name:将远程主机文件file…name的存取方式设置为mode,如:chmod 777 a。out。
13。close:中断与远程服务器的ftp会话(与open对应)。
14。cr:使用asscii方式传输文件时,将回车换行转换为回行。
15。delete remote…file:删除远程主机文件。
16。debug'debug…value':设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17。dir'remote…dir''local…file':显示远程主机目录,并将结果存入本地文件
18。disconnection:同close。
19。form format:将文件传输方式设置为format,缺省为file方式。
20。get remote…file'local…file': 将远程主机的文件remote…file传至本地硬盘的local…file。
21。glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的…g参数。
22。hash:每传输1024字节,显示一个hash符号(#)。
23。help'cmd':显示ftp内部命令cmd的帮助信息,如:help get。
24。idle'seconds':将远程服务器的休眠计时器设为'seconds'秒。
25。image:设置二进制传输方式(同binary)。
26。lcd'dir':将本地工作目录切换至dir。
27。ls'remote…dir''local…file':显示远程目录remote…dir, 并存入本地文件local…file。
28。macdef macro…name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29。mdelete'remote…file':删除远程主机文件。
30。mdir remote…files local…file:与dir类似,但可指定多个远程文件,如 :mdir *。o。*。zipoutfile 。
31。mget remote…files:传输多个远程文件。
32。mkdir dir…name:在远程主机中建一目录。
33。mls remote…file local…file:同nlist,但可指定多个文件名。
34。mode'modename':将文件传输方式设置为modename, 缺省为stream方式。
35。modtime file…name:显示远程主机文件的最后修改时间。
36。mput local…file:将多个文件传输至远程主机。
37。newer file…name: 如果远程机中file…name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
38。nlist'remote…dir''local…file':显示远程主机目录的文件清单,并存入本地硬盘的local…file。
39。nmap'inpattern outpattern':设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap 1。2。3'1,2'。'2,3',则传输文件a1。a2。a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。
40。ntrans'inchars'outchars》:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
41。open host'port':建立指定ftp服务器连接,可指定连接端口。
42。passive:进入被动传输方式。
43。prompt:设置多个文件传输时的交互提示。
44。proxy ftp…cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45。put local…file'remote…file':将本地文件local…file传送至远程主机。
46。pwd:显示远程主机的当前工作目录。
47。quit:同bye,退出ftp会话。
48。quote arg1,arg2。。。:将参数逐字发至远程ftp服务器,如:quote syst。
49。recv remote…file'local…file':同get。
50。reget remote…file'local…file':类似于get, 但若local…file存在,则从上次传输中断处续传。
51。rhelp'cmd…name':请求获得远程主机的帮助。
52。rstatus'file…name':若未指定文件名,则显示远程主机的状态, 否则显示文件状态。
53。rename'from''to':更改远程主机文件名。
54。reset:清除回答队列。
55。restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56。rmdir dir…name:删除远程主机目录。
57。runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀。1, 。2等。
58。send local…file'remote…file':同put。
59。sendport:设置PORT命令的使用。
60。site arg1,arg2。。。:将参数作为SITE命令逐字发送至远程ftp主机。
61。size file…name:显示远程主机文件大小,如:site idle 7200。
62。status:显示当前ftp状态。
63。struct'struct…name':将文件传输结构设置为struct…name, 缺省时使用stream结构。
64。sunique:将远程主机文件名存储设置为只一(与runique对应)。
65。system:显示远程主机的操作系统类型。
66。tenex:将文件传输类型设置为TENEX机的所需的类型。
67。tick:设置传输时的字节计数器。
68。trace:设置包跟踪。
69。type'type…name':设置文件传输类型为type…name,缺省为ascii,如:type binary,设置二进制传输方式。
70。umask'newmask':将远程服务器的缺省umask设置为newmask,如:umask 3
71。user user…name'password''account':向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
72。verbose:同命令行的…v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on。
73。?'cmd':同help。
上面的命令我建议大家最好下下来,背熟了很有用的。上面说到很多FTP都有提供匿名FTP的服务;而方便和安全性却是鱼与熊掌不能两得的!!很多
系统管理员都为了避免麻烦就用系统的预设设定来提供FTP这个服务。而anonymous ftp却
是有许多漏洞的,这样我们就有的说了啊。
允许用户使用Anonymous或FTP作为用户名以用户信箱做为口令(确切的说是任何带@的口令)登陆到系统。虽说匿名FTP本身 并不是个漏洞,因为匿名区域里放置有/etc/passwd和/etc/group文件,往往可能因为管理员配置上的大意造成潜在的安全隐患。使用匿名的FTP,用户可以匿名登陆FTP服务器。登陆时需要用户提供完整的E…mail地址做为passwd,其实在很多站点上这个要求形同虚设,你只要在其中包含有@字节看起来像个E…mail地址就行了,主机不会对口令做任何效验的。
远程所提供FTP服务的主机在处理匿名用户的命令时,一般都会执行一个chroot命令让匿名者进入主机所允许的匿名FTP区域。然而为了支持匿名FTP和用户FTP,FTP服务器要访问所有文件,也就证明了FTP服务器不是总在chroot环境中运行的。(一位前辈说的,我不知道还有哪个说的能比这还精辟)这个环节会让一些管理员不知所为而未曾理会,很容易被我们利用而得到一个匿名FTP用户所不能得到的权限。当然解决也很简单,可以通过修改inetd的配置来替代直接启动FTP服务器,它执行chroot(就类似于chrootuid的程序),然后再启动服务器就可以了。
一般情况下,FTP只限于在匿名用户下访问,匿名用户有其正常的权限,在启动服务器前执行chroot就意味着匿名用户将受到限制。如果说一个匿名用户在FTP服务器的匿名区域获得了一份不应该是匿名用户获得的文件,那么就说明了可能有内部客户将这个文件放置在匿名的FTP区域了。 匿名用户可以阅读到/etc/passwd文件这就是管理员很大错误表现。还有隐患是telnet到ftp21如果允许执行SITE CHMOD和SITE EXEC、/home的所有者是匿名FTP的用户,那么随便就可把权限设置成****或者更多的进行修改等等。
为了方便我们用个小软件,其实不要软件也可以,但用一下方便大家嘛 FTP scanner(下载:sorry。vse。cz/~xmicm08/FTPScanner/)
安装好后,我们从开始菜单中的程序中找到FTP Scanner并运行它。 我们熟悉一下我们要使用的软件的界面。 打开软件我们可以看到 :Host 主机 ;Beginning ;开始IP 下面有几个文本框 我们在这里填入我们要开始扫描的IP。 Ending 结束IP 。我们在这里填入我们结束扫描的IP。 在下面有一个 Threads 线程 。我们可以根据网速来选择这里的线程数。 通常Moden上网选为5070左右。 更快的话选到100个线程。 然后我们选择菜单Session 里的Begin FTP scan 就可以开始了扫描了.。 】
注意:我们可以在View 里的options选项里选择我们的扫描参数.
在Login config里
里的UserName 和 Password我们通常不用更改.
但你也可以改动他. 比如你想扫描特定的帐号.比如扫描用户 Oracle密码也是Oracle的话 就改动这里的 UserName 和 Password
在IP Logging里
我们可以更改扫描结果存放的位置.
随便选择一个位置和文件名就可以了.
默认是存放在安装目录下面的iplog。txt文件.
下面我想大家也会用吧,就是找个主机试试,注意和命令一起用,如果在打开的网页里不能写权限,那就把密码档先当下来. ftp》 get /etc/passwd ,然后用小榕的流光提取用户,再找个一个可以利用的shell,就OK了,用找到的用户名和密码登陆,想干什么就干什么了,建议大家装个后门,因为一般管理员很快就会发现的。当然,很多主机更离谱的是.anonymous竟然有到根目录和写的权限
好了,就说到这大家找几个IP段练练吧,国内这样的主机很多的
『第10天』说SQL
先说说什么叫SQL?大家反正都觉得这SQL和数据库有关,其实也不是这样的。SQL是一种结构化数据库查询语言,其发音为“sequel”或“S…Q…L”。尽管MICROSOFT以其特有的方式加入了所有权声明,但它在大多数据库应用中近乎成为一种标准。简言之,它是一种使用你选择的标准从数据库记录中选择某些记录的方法。
因为它的重要所以我将会花一定的时间来讲它,前面的东西大家不说可能用这就会了,但这个一定要仔细的说。先回答大家一个疑问,学了SQL有什么用呢?现在常用的数据库软件是ms…sql,一般的服务器上都由它提供数据库服务,但哟于具有管理权限的帐号SA的默认密码是空的,且低版本的SQL由漏洞能直接获得密码。所以它也成为入侵的一种捷径(如果由漏洞的话)。介绍个软件MS…SOL Brower(SQL远程入侵软件),以后会由用的。
在使用它时,只需要发出“做什么”的 命令,“怎么做”是不用使用者考虑的。
SQL数据库数据体系结构
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存
储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row)
;属性称为“列”(column)。名称对称如^00100009a^:
SQL语言的组成
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的
组成:
1。一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2。一个SQL表由行集构成,一行是�