婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL注入漏洞過程實例及解決方案

SQL注入漏洞過程實例及解決方案

熱門標簽:400電話到哪辦理優惠 電話機器人是電腦呼號嗎 怎么更改高德地圖標注 鄭州網絡外呼系統價錢 博樂電銷機器人 上海市三維地圖標注 機器人打電銷電話 南寧外呼系統招商 云南大數據外呼系統

代碼示例:

public class JDBCDemo3 {
  public static void demo3_1(){
    boolean flag=login("aaa' OR ' ","1651561");  //若已知用戶名,用這種方式便可不用知道密碼就可登陸成功
    if (flag){
      System.out.println("登陸成功");
    }else{
      System.out.println("登陸失敗");
    }

  }
  public static boolean login(String username,String password){
    Connection conn=null;
    Statement stat=null;
    ResultSet rs=null;
    boolean flag=false;
    try {
      conn=JDBCUtils.getConnection();
      String sql="SELECT * FROM user WHERE username='"+username+"'AND password='"+password+"'"; //此處是SQL注入漏洞的關鍵,因為是字符串的拼接,會使查詢語句變為:SELECT * FROM user WHERE username='aaa' OR '' AND password='1651561',此查詢語句是可得到結果集的,便出現此漏洞
      stat=conn.createStatement();
      rs=stat.executeQuery(sql);
      if(rs.next()){
        flag=true;
      }else{
        flag=false;
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return flag;
  }

解決方法,使用PrepareStatment:

public static void demo3_1(){
    boolean flag=login1("aaa' OR ' ","1651561");
    if (flag){
      System.out.println("登陸成功");
    }else{
      System.out.println("登陸失敗");
    }

  }
  public static boolean login1(String username,String password){
    Connection conn=null;
    PreparedStatement pstat=null;
    ResultSet rs=null;
    boolean flag=false;

    try {
      conn=JDBCUtils.getConnection();
      String sql="SELECT * FROM user WHERE username=? AND password=?"; //使用?代替參數,預先設置好sql格式,就算在輸入sql關鍵字也不會被sql識別
      pstat=conn.prepareStatement(sql);
      pstat.setString(1,username); //設置問號的值
      pstat.setString(2,password);
      rs=pstat.executeQuery();
      if(rs.next()){
        flag=true;
      }else{
        flag=false;
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return flag;
  }
}

使用以上解決辦法就無法通過SQL注入漏洞登陸用戶成功。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • php中防止SQL注入的最佳解決方法
  • PHP開發中常見的安全問題詳解和解決方法(如Sql注入、CSRF、Xss、CC等)
  • T-SQL篇如何防止SQL注入的解決方法
  • ASP+MSSQL2000 數據庫被批量注入后的解決方法
  • MySQL Proxy(解決注入的另一思路)
  • MySQL解決SQL注入的另類方法詳解
  • SQL注入原理與解決方法代碼示例
  • 通過ibatis解決sql注入問題
  • sqlserver 數據庫被注入解決方案
  • 實例介紹SQL注入以及如何解決

標簽:秦皇島 益陽 澳門 寧夏 恩施 定西 白銀 杭州

巨人網絡通訊聲明:本文標題《SQL注入漏洞過程實例及解決方案》,本文關鍵詞  SQL,注入,漏洞,過程,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL注入漏洞過程實例及解決方案》相關的同類信息!
  • 本頁收集關于SQL注入漏洞過程實例及解決方案的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 万盛区| 桦南县| 白沙| 广西| 江西省| 澄城县| 阿拉尔市| 光泽县| 武夷山市| 邻水| 大兴区| 江源县| 襄汾县| 伊金霍洛旗| 扎囊县| 平泉县| 神农架林区| 嘉善县| 称多县| 锡林浩特市| 祁连县| 祁东县| 德兴市| 大理市| 土默特左旗| 西盟| 扬州市| 达孜县| 宜宾市| 宝应县| 手机| 莫力| 福海县| 拜城县| 富裕县| 北海市| 涿鹿县| 阿瓦提县| 长乐市| 思茅市| 杭锦旗|