从黑客角度检验oracle数据库
2008-09-08 12:51:22 来源:WEB开发网password是没有lockout feature。命令审核是和标准oracle的审核数据是分开的。Password是不过期的,因为没有passwod的管理特性。
3 监听包(listener packet)
当一个命令输入到监听控制器中会发生:
向监听发生一条命令,如果监听是远程的,命令通过网络传播,上图是发送的数据包,我们可以看到报头中一些特殊的字符。在报尾可以看到listener要执行的远程命令,在这个例子中:
COMMAND=status
三 listener attacke demo
http://www.jammed.com/~jwa/hacks/security/tnscmd/
1 缓冲区溢出:
覆盖堆栈的内存,执行恶意的代码。
监听服务的缓冲区溢出:
1) 一个连接字符串的例子:
– (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HO
ST=)(USER=))(COMMAND=status) (SERVICE=LIST80)(VERSION=135294976)))
2) 寻找缓冲区溢出:
改变适当的值看看会发生什么情况
– Try USER= with 4,000 Xs after it
– Try SERVICE= with 4000 Xs after it
– Etc…
黑客是如何发现缓冲区溢出的:
当一个命令发生到监听服务时,黑客试图在连接字符中加很长的字符串,
例如发生USER=一个很上的字符串。如果数据库开发人员只为username分配了
一个1024字节长的单元,当发送超过了1024个字节,其他的字符将覆盖后边的
单元。所以程序要能自能的对长度进行检查。
2 监听器服务缓冲区溢出
i) Oracle 8.1.7
发生1k的字节COMMAND= dwon机
超过4k会使系统崩溃。
ii) oracle 9.0.1
发生1k的字节SERVICE=
3 利用报头区的值
更多精彩
赞助商链接