Oracle 11g CVE-2012-1675(远程投毒)漏洞修复。

  • 数据库版本

    Oracle 11g 11.2.0.4.0非RAC
  • 漏洞编号

    CVE-2012-1675
  • 漏洞介绍

    Oracle允许攻击者在不提供用户名/密码的情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞。

1、漏洞复现

安装检测工具metasploit

  • 下载metasploit
[root@localhost Tools]# wget https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run

wget下载速度较慢,可以拷贝网址使用迅雷下载后上传至服务器

  • 增加执行权限
[root@localhost Tools]# chmod +x metasploit-4.17.1-2020080301-linux-x64-installer.run

  • 安装

    出现输入界面,按默认值回车即可

利用metasploit复现漏洞

  • 启动metasploit
[root@localhost Tools]# msfconsole

  • 切换至tnsposion_checker路径
msf5 > use auxiliary/scanner/oracle/tnspoison_checker
  • 设置目标IP地址
msf5 auxiliary(scanner/oracle/tnspoison_checker) > set RHOSTS 192.168.137.150
  • 检测
msf5 auxiliary(scanner/oracle/tnspoison_checker) > run

  • 192.168.137.150:1521 is vulnerable 表示漏洞存在
[+] 192.168.137.150:1521 - 192.168.137.150:1521 is vulnerable
[*] 192.168.137.150:1521 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

2、漏洞修复,在listener.ora文件里添加VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON

  • 登录数据库服务器,切换到Oracle用户
[root@oracledb ~]# su - oracle
  • 进入listener.ora配置文件所在的文件夹
[oracle@oracledb ~]$ cd $ORACLE_HOME/network/admin

  • 停止监听服务
[oracle@oracledb admin]$ lsnrctl stop

  • 编辑配置文件
[oracle@oracledb admin]$ vim listener.ora
VALID_NODE_CHECKING_REGISTRATION_LISTENER = ON

  • 启动监听服务

  • 再次验证漏洞

3、其他

  • 当在数据库服务器上部署metasploit工具时,按上述2过程配置完监听,检测漏洞依旧存在;以此,验证时切记工具与数据库服务不能是同一台服务器。

最新文章

  1. Libsvm Matlab 快速安装教程 (适用于Win7+, 64bit, and Matlab2016a+)
  2. 一些js 插件的作用
  3. ThinkPHP3.2.3--相对路径的写法
  4. SQL Server查看所有表大小、表行数和占用空间信息
  5. 浅析C#中的“==”和Equals
  6. HDU 2709 Sumsets(递推)
  7. web前端开发分享-css,js入门篇(转)
  8. gson使用详解
  9. 【关于php】Appserv中关于DW配置站点问题
  10. UVaLive6039 Uva1668 Let's Go Green
  11. iOS 提示音播放
  12. C#使用checked关键字处理"溢出"错误
  13. jquery插件datepicker
  14. 检索算法 -- 数据结构与算法的javascript描述 第13章
  15. 疯狂JAVA讲义第三章之数组篇
  16. 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
  17. Hibernate:如何映射聚合?
  18. KB奇遇记(6):搞笑的ERP项目团队
  19. ls-dyna基础教程
  20. ES6关于Promise的用法

热门文章

  1. 理解Promise函数中的resolve和reject
  2. python的数据库编程
  3. 基于Spring接口,集成Caffeine+Redis两级缓存
  4. Docker操作容器2
  5. java四种访问修饰符及各自的权限
  6. RESTFUL风格的接口命名规范
  7. npm 报错This is probably not a problem with npm. There is likely additional logging output above.
  8. Mysql、Oracle锁表处理
  9. 百度飞桨数据处理 API 数据格式 HWC CHW 和 PIL 图像处理之间的关系
  10. QGIS 插件开发Debug教程——使用Pycharm