java jdbc_sql注入攻击数据 案例。

JDBC URL: jdbc:mysql://mysql.sqlpub.com:3306/huangjin

Username: XXXXXX

Password: fc12f7a5215e8e0a

请输入要查找的id:1 or 1=1

1, ml5 michael@email.com gmail 22

2, bb44 bob@email.com facebook 1

3, je22 jane@email.com github 49

4, ae5 alice@email.com facebook 64

5, ls5 lisa@email.com twitter 10

6, ay0 anthony@email.com facebook 1

7, je1 joe@email.com github 99

8, mk57 mark@email.com github 15

9, tt34 tim@email.com github 90

10, cc100 colton@email.com github 10

JDBC配置

config.properties

db.url=jdbc:mysql://mysql.sqlpub.com:3306/huangjin

db.username=XXXXXX

db.password=fc12f7a5215e8e0a

java 复制代码
package com.abc.project3;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
import java.util.Scanner;

public class D {
    public static void main(String[] args) throws IOException, SQLException {

        String dbUrl = null;
        String dbUsername = null;
        String dbPassword = null;

        Properties properties = new Properties();
        FileInputStream fis = null;

        String fName = "config.properties";
        File file = new File(fName);
        if (!file.isFile()) {
            System.err.println(fName + " 文件不存在");
            System.exit(0);
        }


        // 读取配置文件
        fis = new FileInputStream(fName);
        properties.load(fis);

        // 获取 JDBC 连接信息
        dbUrl = properties.getProperty("db.url");
        dbUsername = properties.getProperty("db.username");
        dbPassword = properties.getProperty("db.password");

        if(fis!=null)
            fis.close();

        // 打印 JDBC 连接信息
        System.out.println("JDBC URL: " + dbUrl);
        System.out.println("Username: " + dbUsername);
        System.out.println("Password: " + dbPassword);

        Connection con = DriverManager.getConnection(dbUrl,dbUsername,dbPassword);

        //4.获取执行者对象
        Statement stat = con.createStatement();
        String sql ="SELECT * FROM user WHERE id = ";
        ResultSet resultSet = null;
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入要查找的id:");
        String str =sc.nextLine();  // 注入攻击  1 or 1=1
        sc.close();
        resultSet = stat.executeQuery(sql + str);

        while(resultSet.next()){
            String  res =resultSet.getInt("ID")+", ";
                    res += resultSet.getString("username")+" ";
                    res += resultSet.getString("email")+" ";
                    res += resultSet.getString("authType")+" ";
            res += resultSet.getInt("reputation");
            System.out.println(res);
        }

        if (resultSet != null)
            resultSet.close();
        stat.close();
        con.close();



    }
}
相关推荐
2401_858286116 分钟前
125.【C语言】数据结构之归并排序递归解法
c语言·开发语言·数据结构·算法·排序算法·归并排序
掘金-我是哪吒14 分钟前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪40 分钟前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
wfsm42 分钟前
spring事件使用
java·后端·spring
guygg8843 分钟前
基于matlab的FIR滤波器
开发语言·算法·matlab
双叶8361 小时前
(C++)学生管理系统(正式版)(map数组的应用)(string应用)(引用)(文件储存的应用)(C++教学)(C++项目)
c语言·开发语言·数据结构·c++
微风粼粼1 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
缘来是庄1 小时前
设计模式之中介者模式
java·设计模式·中介者模式
源代码•宸1 小时前
C++高频知识点(二)
开发语言·c++·经验分享
rebel2 小时前
若依框架整合 CXF 实现 WebService 改造流程(后端)
java·后端