精華區beta YCSH_alumni 關於我們 聯絡資訊
早上起床還在猶豫值日生的主題 感謝阿西毛給我的靈感 來寫點技術性的東西好了 以下內容與電腦資料庫相關 非宅男請按←或直接按end吧 ------------------------------- SQL Injection主要發生在 將使用者輸入的資料經過字串處理後組成SQL statement 直接輸入資料庫執行 如果對於使用者輸入的資料沒有經過處理和檢查 很容易被惡意破壞 由於資料庫執行SQL statement的時候 可以接受同時一個以上的SQL statement 所以容易被人塞進另外一段SQL statement在輸入的資料裡 例如網頁登入輸入帳號跟密碼 使用會打上 ngulin0911 1234 後端的SQL可能是 select * from users where user_id='+帳號+' and pwd='密碼'; 然後網頁上的帳號密碼就會被放到上面的statement裡 去資料庫取得符合的使用者 這是正常的執行方式 但是如果我把密碼部分改成 '; delete from users where 1=1 OR pwd=' 就會變成殺掉所有的使用者資料 當然你可能會說 網頁使用者怎麼會知道 table還有欄位的名稱 因為大部分的設計也都是會依照比較人性的方式設計 讓設計跟維修的人比較好分析 名稱也就會用比較容易理解的 試久了總會成功的 對於SQL Injection有很多不同的處理方式 以前我會用的方式是將使用者輸入的資料 把單引號' 改成兩個單引號'' 這樣輸入的資料就只會被當作字串 不會是另外一段SQL statement 以上只是一個比較簡單的例子 解決方法也是比較拙劣的方法 第一次在值日生文寫電腦技術相關的文章 我看就先寫到這裡吧 有興趣的再來找我討論吧 值日生 NGU -- 青蘋果樹 高中, 國中, 國小 [geniusjazz] Area1-TPHigh 校友 Σ台北地區高中群組 [ckclark] YCSH 永春 Σ永春高中 [tobyben] YCSH_alumni 永春 ●[永春] tobyben/iFEEL 【傲天翔翎】【騁跡絕塵】【春之驕陽】【山城之歌】【蝶舞】【逆天唯我】【青城之戀】 【垃圾袋】 【 花漾 】 【夢。飛行】 【Starry Night】 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.45.100.173
Jerry195859:以後來個專欄吧XD 10/12 00:07
iFEELing:這篇文是在釣宅男嗎..... 10/12 00:10
asimon:囧a 10/12 00:11
iFEELing:樓上是被釣到的 科科 10/12 00:11
iFEELing:偷偷說 我都把半型改全型 科科 10/12 00:14