30天打造专业红客-第8章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
是有许多漏洞的,这样我们就有的说了啊。
允许用户使用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表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3。一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图
是由若干基本表或其他视图构成的表的定义。
4。一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
每个存储文件与外部存储上一个物理文件对应。
5。用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本
表是一样的,没有区别,都是关系(表格)。
6。SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使
用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独
立的用户接口,供交互环境下的终端用户使用。
(这个内容好像很难懂,大家如果实在不行,了解就行了)
对数据库进行操作
SQL包括了所有对数据库的操作,主要是由4个部分组成:
1。数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据
库、基本表、视图和索引4部分。
2。数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操
作,其中数据更新又包括插入、删除和更新三种操作。
3。数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务
控制语句等。
4。嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则
下面我们就 简单介绍一下数据定义
SQL数据定义功能包括定义数据库、基本表、索引和视图。
首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^)
1。数据库的建立与删除
(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为:
CREATE DATABASE [其它参数]
其中,在系统中必须是唯一的,不能重复,不然将导致数据存取失误。[其
它参数]因具体数据库实现系统不同而异。
例:要建立项目管理数据库(xmmanage),其语句应为:
CREATE DATABASE xmmanage
(2) 数据库的删除:将数据库及其全部内容从系统中删除。
其语句格式为:DROP DATABASE
例:删除项目管理数据库(xmmanage),其语句应为:
DROP DATABASE xmmanage
2。基本表的定义及变更
本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的
定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。
(1)基本表的定义:基本表是非导出关系,其定义涉及表名、列名及数据类型等,其语
句格式为:
CREATE TABLE[。]
( 数据类型 [缺省值] [NOT NULL / NULL]
[, 数据类型 [缺省值] [NOT NULL / NULL]]。。。。。。
[,UNIQUE (列名[,列名]。。。。。。)]
[,PRIMARY KEY(列名)]
[,FOREIGN KEY(列名[,列名]。。。。。。)REFERENCE (列名[,列名]
。。。。。。)]
[,CHECK(条件)] [其它参数])
其中,〈数据库名〉。]指出将新建立的表存放于该数据库中;
新建的表由两部分组成:其一为表和一组列名,其二是实际存放的数据(即可在定义表
的同时,直接存放数据到表中);
列名为用户自定义的易于理解的名称,列名中不能使用空格;
数据类型为上面所介绍的几种标准数据类型;
[NOT NULL/NULL]指出该列是否允许存放空值,SQL语言支持空值的概念,所谓空值是
“不知道”或“无意义”的值,值得注意的是数据“0”和空格都不是空值,系统一般
默认允许为空值,所以当不允许为空值时,必须明确使用NOT NULL;
[,UNIQUE]将列按照其规定的顺序进行排列,如不指定排列顺序,则按列的定义顺序
排列;
[PRIMARY KEY]用于指定表的主键(即关系中的主属性),实体完整性约束条件规定:
主键必须是唯一的,非空的;
[,FOREIGN KEY (列名[,列名]。。。。。。) REFERENCE(列名[,列名]
。。。。。。)]是用于指定外键参照完整性约束条件,FOREIGN KEY指定相关列为外键,其参
照对象为另外一个表的指定列,即使用REFERENCE引入的外表中的列,当不指定外表列
名时,系统将默认其列名与参照键的列名相同,要注意的是:使用外键时必须使用参
照,另外数据的外键参照完整性约束条件规定:外键的值要么与相对应的主键相同,要
么为空值(具体由实现系统不同而异)
[,CHECK]用于使用指定条件对存入表中的数据进行检查,以确定其合法性,提高数
据的安全性。
2)基本表的删除:用以从数据库中删除一个基本表及其全部内容,其语句格式为:
DROP TABLE[。]表名
(3)基本表的修改:在基本表建立并使用一段时间后,可能需要根据实际要求对基本表
的结构进行修改,即增加新的属性或删除属性。
增加属性的语句格式为:
ALTER TABLE [。]表名 ADD