《30天打造专业红客》第13章


把Auto_Increment字段作为数据表中每一条记录的标识字段。 
NOT NULL 
NOT NULL限制条件规定用户不得在该字段中插入空值。 
其它数据表命令 
除了创建新的数据表之外,MySQL数据库还提供了其它许多非常实用的以数据表作为操作对象的命令。 
显示数据表命令 
mysql》 show tables; 
该命令将会列出当前数据库下的所有数据表。 
显示字段命令 
mysql》 show columns from tablename; 
该命令将会返回指定数据表的所有字段和字段相关信息。 
数据操作 
对MySQL数据库中数据的操作可以划分为四种不同的类型,分别是添加、删除、修改和查询,我们将会在本节中对此进行介绍。但是,首先我们需要强调的一点就是MySQL数据库所采用的SQL语言同其它绝大多数计算机编程语言一样,对命令的语法格式有严格的规定。任何语法格式上的错误,例如不正确的使用括号、逗号或分号等都可能导致命令执行过程中的错误。因此,建议用户在学习时一定要多留心语法格式的使用。 
添加记录 
用户可以使用INSERT命令向数据库中添加新的记录。 
例如: 
mysql》 INSERT INTO test VALUES 
mysql》 ("John"; "carrots@mail。"; 
mysql》 5554321; NULL); 
上述命令正确执行后会返回以下信息: 
Query OK; 1 row affected (0。02 sec) 
mysql》 
对上述命令有几点我们需要说明。首先,所有的字符类型数据都必须使用单引号括起来。其次,NULL关键字与AUTO_INCREMENT限制条件相结合可以为字段自动赋值。最后,也是最重要的一点就是新记录的字段值必须与数据表中的原字段相对应,如果原数据表中有4个字段,而用户所添加的记录包含3个或5个字段的话都会导致错误出现。 
MySQL数据库的一个非常显著的优势就是可以对整数、字符串和日期数据进行自动转换。因此,用户在添加新记录时就不必担心因为数据类型不相符而出现错误。 
查询数据 
如果我们无法从数据库中查找和读取数据的话,数据库就丧失了其存在和使用的价值。 
在MySql数据库中,用户可以使用SELECT命令进行数据的查询。 
例如: 
mysql》 SELECT * FROM test 
mysql》 WHERE (name = 〃John〃); 
上述命令会返回如下结果: 
name 
email 
phone 
ID 
John 
carrots@mail。 
5554321 
1 
删除数据 
用户除了可以向数据表中添加新的记录之外,还可以删除数据表中的已有记录。删除记录可以使用DELETE命令。 
例如: 
mysql》 DELETE FROM test 
mysql》 WHERE (name = 〃〃); 
该命令将会删除test数据表中name字段的值为John的记录。同样, 
mysql》 DELETE FROM test 
mysql》 WHERE (phone_number = 5554321); 
将会从数据表中删除phone_number字段值为5554321的记录。 
修改数据 
MySQL数据库还支持用户对已经输入到数据表中的数据进行修改。修改记录可以使用UPDATE命令。 
例如: 
mysql》 UPDATE test SET name = "Mary" 
mysql》 WHERE name = 〃John〃; 
上述命令的执行结果如下: 
name 
email 
phone 
ID 
Mary 
carrots@mail。 
5554321 
1 
到此为止,我们对MySQL数据库数据操作的核心概念,即数据的添加、删除、修改和查询进行了简单的介绍。
『第12天』从ipc 连接失败讲起
我们最好先来看一下什么是ipc¥连接。ipc(inter process connection)是远程网络连接。而ipc;admin;c;d;e这些则是winnt和win2000的默认共享。ipc就是一种管道通讯,它在两个ip间建立一个连接。我们一般看到对方主机开了139;445,我们一般就说对方开了共享。就可以尝试用ipc¥连接,具体怎么样你应该没问题了吧。(这种功能只在winnt和win2000种才有,windows98是没有的。 )
很多朋友对ipc¥连接的概念很混淆,我在这里罗嗦几句,ipc¥连接分为ipc空连接和带有一定权限ipc连接,这两者可是大大的不一样;许多朋友在建立了空连接之后,就着急的想copy工具上去,这是肯定会报错的,其实这也是很多朋友经常碰到的问题。因为这是空连接,没有任何的权限(就好像匿名访问一样),除了可以得到远程主机的bios信息外,什么命令都执行不了而可以复制文件是你获得了一定的权限后,比如说你得到一个管理员密码是空口令,也就是带有一定权限的ipc连接,空连接只是简单的和远程主机建立了一个通讯的管道。是不是什么用都没有呢?当然不是了,我们可以用暴力破解的方法来得到管理员的密码,就是挂上字典不断地进行对ipc空连接的试探,从而达到取得管理员密码的目的,什么好用你就用什么。到这里我已经对ipc¥空连接和带有一定权限ipc连接有了一个比较清楚的了解。 很多朋友可能会说说了半天也没到重点。别急嘛,就是作为个知识理解也很好嘛
现在我们分析一下会有那些错误
错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限; 
错误号51,Windows 无法找到网络路径 : 网络有问题; 
错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤); 
错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc; 
错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc,请删除再连。 
错误号1326,未知的用户名或错误密码 : 原因很明显了; 
错误号1792,试图登录,但是网络登录服务没有启动 : 目标Logon服务未启动。(连接域控会出现此情况) 
错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码
我们现在已经了解了ipc失败的原因,我们知道稍微有一点安全意识的网络管理员都会关闭掉共享,不会给你机会用简单的ipc连接进入他的机子,当然也不排除了哈^_^,而如果他屏蔽掉了ipc共享并且开了很少的服务(或者根本禁止了许多可以利用的服务),就算你通过某种方法比如说溢出攻击,得到了权限,进入了系统,这时你添加一个账号也没什么意义。想用ipc连接上传工具,却发现连续的报错,错误1326和错误67比较简单,容易对付。如果碰到对方开了防火墙,也就是(错误67),远程连接不上,我们怎么办呢?这里提供几种办法, 
1、杀掉远程主机中的防火墙,如果对方安装了resouce kit 那么我们就可以用tlist 和kill 两个命令来找到并且杀掉防火墙的进程。 
2、利用tftp。并不是说有的管理员都安装了resouce kit;那我们怎么办呢?我们知道2000是自带的tftp,我们可以用tftp来上传工具,如tlist 、kill等等,然后关闭防火墙和杀毒软件 
3、利用自己的ftp。我们还可以自己驾一个ftp服务器,然后用远程的计算机反过来ftp我们自己的机子,达到上传工具的目的。然后杀掉进程。。。(其实已经没必要了)剩下的就随你的便了。 
上面的几种解决办法也只是假设,因为一般的管理员都会想办法禁止windows自带tftp客户端的使用,(具体参阅这篇帖子:http://。91one。/dvbbs/dispbbs。asp?boardid=17&id=1428)这样给我们就有点麻烦。但有时候还是有用的哦 
'第13天'80端口攻击总结
我将描述每种攻击的作用,和其怎样利用这些漏洞进行攻击(注意host的意思你应该懂吧)
(1)"。" "。。" 和 "。。。" 请求 
这些攻击痕迹是非常普遍的用于web应用程序和web服务器,它用于允许攻击者或者蠕虫病毒程序改变web服务器的路径,获得访问非公开的区域。大多数的CGI程序漏洞含有这些"。。"请求。 
Example: 
http://host/cgi…bin/lame。cgi?file=。。/。。/。。/。。/etc/motd 
这个列子展示了攻击者请求mosd这个文件,如果攻击者有能力突破web服务器根目录,那么可以获得更多的信息,并进一步的获得特权。
(2)"%20" 请求 
%20是表示空格的16进制数值,虽然这个并不代表你能够利用什么,但是在你浏览日志的时候会发现它,一些web服务器上运行的应用程序中这个字符可能会被有效的执行,所以,你?
小说推荐
返回首页返回目录