久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL注入漏洞過程的示例分析

134次閱讀
沒有評論

共計 1641 個字符,預計需要花費 5 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 SQL 注入漏洞過程的示例分析,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

代碼示例:

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 注入漏洞登陸用戶成功。

關于“SQL 注入漏洞過程的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1641字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 嵩明县| 乌拉特后旗| 宁乡县| 宁夏| 双牌县| 边坝县| 衡阳县| 白山市| 仪征市| 泰来县| 池州市| 绥中县| 大连市| 公主岭市| 商丘市| 卢龙县| 屯门区| 清流县| 平原县| 大同县| 阿荣旗| 五莲县| 张家界市| 宝清县| 怀远县| 普定县| 万全县| 荔波县| 莫力| 延吉市| 抚州市| 玉山县| 峨眉山市| 上犹县| 阳山县| 左贡县| 沾化县| 云和县| 龙南县| 芷江| 怀来县|