2023年5月21日,也就是昨天,乙個影響wordpress 2.1.3及更早版本的sql注入漏洞被公布了出來。[via][via]
剛剛在網上看到相關說明,這次是因為沒注意檢查傳入的cookies而導致可以sql注入的。(不過sql注入基本上全是沒注意檢查傳入的變數引起的吧)不過這次注入後執行的sql語句的返回沒有被輸出,所以沒有辦法通過輸出直接或間接地獲取存放在資料庫中的管理員密碼。這次的攻擊程式只能通過分析頁面執行時間的長短來檢測密碼,這樣導致檢測時間比較長,而且設定的越長檢測結果越精確。通過分析頁面執行時間來獲取資料庫中的資料這種方式倒是很值得研究一下,再使用二分法來檢測每一位字元最終獲得全部32位字元的方法很好玩。
還好這個問題已經在wordpress 2.2裡被修復了。(2023年5月11日的changeset 5440)wordpress 2.2已經發布乙個星期了,模板、外掛程式等各方面相容性也比較完善了。甚至於,k2模板因為wordpress 2.2的發布準備發布乙個新版本(via 《k2 still alive》),不過至今乙個禮拜過去了,還是沒個影,可憐的k2 0.95 rc1還是一直飄在那兒。現在是時候更新到wordpress 2.2了,順便可以消除這個漏洞。而堅守wordpress 2.1.3的xdjm們,則可以參考wordpress 2.2修改的部分,在wp-includes/pluggable.php的第122行(這是乙個空行)加上一句$user_login = $wpdb->escape($user_login);
。
嘗試用攻擊**獲取我自己blog的密碼。程式執行在dreamhost主機上,而我的blog在盤古主機上,所以網路速度比較慢,再加上這個程式本身也很耗時間,最後耗時20分鐘拿到了我的blog密碼,當然是md5過的。對比存放在資料庫裡的密碼,乙個字都不差。這種感覺以前經歷過一次,所以這次沒那麼震驚了,唉。如果是黑客拿到了這串密碼,再md5一次,然後偽造乙個cookies就可以登入wordpress後台了。
而安裝wordpress時可以修改預設的資料表字首"wp_",然後再另做乙個"wp_users"表,用於迷惑黑客,這樣也很不錯啊。不過已經裝好的wordpress就沒辦法了,資料表字首最好不要修改,記得它還被用在"wp_option"表中的某個地方。
另外還有使用者名稱,wordpress不允許修改使用者名稱,很多人是通過新建乙個使用者,然後把新使用者設定為管理員,然後再刪除原來的"admin"使用者來解決這個問題的。另外,也可以直接修改資料庫來修改使用者名稱。因為偽造cookies需要使用使用者名稱,所以改掉使用者名稱也可以起到防範的作用。
再有就是把wordpress本身以及各個模板和外掛程式的檔案的許可權設定的低一點,使得在wordpress後台無法修改這些檔案。因為黑客登入後台後會上傳木馬以獲得web shell,wordpress本身做了一點限制,就是禁止後台的編輯器修改wp-config.php檔案,再把通過設定許可權來禁止後台的編輯器編輯各個php檔案,上傳木馬就會比較困難了。
當然,最重要的還是做好資料庫和檔案的備份。還有就是少得罪人,少結點怨,嘿嘿。
sql盲注特點 SQL盲注
盲注原理 盲注的分類 盲注常用函式 一 sql盲注概述 1.如果資料庫執行返回結果時只反饋對錯不會返回資料庫中的資訊 此時可以採用邏輯判斷是否正確的盲注來獲取資訊。2.盲注是不能通過直接顯示的途徑來獲取資料庫資料的方法。在盲注中,攻擊者根據其返回頁面的不同來判斷資訊 可能是頁面內容的不同,也可以是響...
SQL盲注 時間盲注,dnslog盲注
時間盲注原理 id get id sql select from users where id id limit 0,1 result mysql query sql row mysql fetch array result if row else 存在sql注入漏洞 然而頁面不會回顯資料,也不會回...
sql注入 盲注
一,盲注介紹 所謂盲注就是在伺服器沒有錯誤回顯的時候完成注入攻擊。盲注分為布林盲注和時間盲注 布林盲注 boolean 根據注入資訊返回true or fales 沒有任何報錯資訊 時間盲注 介面返回值ture 無論輸入任何值,返回的情況都是正常的來處。加入特定的時間函式,通過檢視web頁面返回的時...