《30天打造专业红客》

下载本书

添加书签

30天打造专业红客- 第7部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
    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表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。 
    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]将列按照其规定的顺序进行排列,如不指定排列顺
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架