贝壳电子书 > 文学历史电子书 > 30天打造专业红客 >

第8章

30天打造专业红客-第8章

小说: 30天打造专业红客 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 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 

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的