docker 安装 oracle数据库 搭建sql注入环境 - 女黑客 - Powered by Discuz!

女黑客

标题: docker 安装 oracle数据库 搭建sql注入环境 [打印本页]

作者: nvhack    时间: 2023-3-9 11:08
标题: docker 安装 oracle数据库 搭建sql注入环境
docker 安装 oracle数据库
  1. sudo docker pull deepdiver/docker-oracle-xe-11g
  2. docker run -d --name oracledb -p 1002:22 -p 1521:1521 deepdiver/docker-oracle-xe-11g
复制代码

进入容器
  1. docker exec -it oracledb /bin/bash
复制代码
链接:
  1. sqlplus
复制代码
账号/密码:
  1. system/oracle
复制代码
查询实例:
  1. select instance_name from v$instance;
复制代码

(, 下载次数: 68)

navicat 链接如图
(, 下载次数: 65)

连接后,创建数据库用户BIHUO,创建用户后会自动创建数据库BIHUO
并在数据库BIHUO下创建表,如图:
(, 下载次数: 61)

配置mvn
把ojdbc6.jar 放到工程demo下
(, 下载次数: 68)
ojdbc6.jar下载地址

链接:https://pan.baidu.com/s/19YvhZ07xFIG661zr5fk2Mg?pwd=ekvk
提取码:ekvk
失效请联系 必火 微信:bihuoceo

(, 下载次数: 64)

  1. mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc6.jar
复制代码



在webapp下新建文件夹libs ,并把 ojdbc6.jar复制过来

(, 下载次数: 65)

在libs上点右键,选择Add as Library

(, 下载次数: 64)

测试代码
  1. <%@ page language="java" import="java.util.*"  pageEncoding="utf-8"%>
  2. <%@ page import="oracle.jdbc.*"%>
  3. <%@ page import="java.sql.*" %>
  4. <%@ page import="oracle.sql.*" %>

  5. <%
  6.     String path = request.getContextPath();
  7.     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  8. %>
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  10. <html>
  11. <head>
  12.     <base href="<%=basePath%>">

  13.     <title>Oracle注入测试</title>
  14.     <meta http-equiv="pragma" content="no-cache">
  15.     <meta http-equiv="cache-control" content="no-cache">
  16.     <meta http-equiv="expires" content="0">
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  18.     <meta http-equiv="description" content="This is my page">
  19.     <!--
  20.     <link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
  21.     -->
  22. </head>

  23. <body>
  24. <%
  25.     String  url  =  "http://"  +  request.getServerName()  +  ":"  +  request.getServerPort()  +  request.getContextPath()+request.getServletPath();
  26.     Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
  27.     Statement stmt = null;
  28.     ResultSet rs=null;
  29.     String oraUrl="jdbc:oracle:thin:@192.168.100.10:1521:XE";
  30.     String oraUser="system";
  31.     String oraPWD="oracle";
  32.     try
  33.     {
  34.         DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  35.     }catch (SQLException e)
  36.     {
  37.         response.getWriter().print("filed!!");
  38.     }
  39.     try
  40.     {
  41.         Connection conn=DriverManager.getConnection(oraUrl,oraUser,oraPWD);
  42.         String sql="select * from BIHUO."users" where "id"="+request.getParameter("id");
  43.         response.getWriter().print("执行语句:<br>"+sql+"<br>");
  44.         stmt = conn.createStatement();
  45.         rs = stmt.executeQuery(sql);
  46.         response.getWriter().print("结果为:");
  47.         response.getWriter().print("<table border='1' cellpadding='4' cellspacing='0' style='background-color:White;border-color:#3366CC;border-width:1px;border-style:None;width:203px;border-collapse:collapse;'>");
  48.         response.getWriter().print("<tr style='color:#CCCCFF;background-color:#003399;font-weight:bold;'>");
  49.         response.getWriter().print("<td>id</td><td>title</td><td>content</td>");
  50.         response.getWriter().print("</tr>");
  51.         response.getWriter().print("<tr style='color:#003399;background-color:White;'>");
  52.         while(rs.next())
  53.         {
  54.             response.getWriter().print("<td>");response.getWriter().print(rs.getString(1));response.getWriter().print("</td>");
  55.             response.getWriter().print("<td>");response.getWriter().print(rs.getString(2));response.getWriter().print("</td>");
  56.             response.getWriter().print("<td>");response.getWriter().print(rs.getString(3));response.getWriter().print("</td>");
  57.         }
  58.         response.getWriter().print("<tr>");
  59.         rs.close();
  60.         stmt.close();
  61.         conn.close();
  62.     } catch (SQLException e)
  63.     {
  64.         System.out.println(e.toString());
  65.         response.getWriter().print(e.toString());
  66.     }
  67. %>
  68. </body>
  69. </html>
复制代码

运行页面
(, 下载次数: 63)













欢迎光临 女黑客 (http://www.nvhack.com/) Powered by Discuz! X3.4