發(fā)布時間:2021-12-16 分類: 電商動態(tài)
幾年前,SQL注入風(fēng)靡全球,但現(xiàn)在,SQL注入依然是最受歡迎的攻擊方式之一,令開發(fā)者頭疼不已。當然主要是因為注入攻擊的靈活性,一個目的,多條語句,多種編寫方法。SQL注入可分為工具型和手動型。由于自動化,工具通常比手動注射高效得多,但與手動注射相比,它們受到限制,因為它們沒有針對性。
所有的輸入都可能是有害的,只要有參數(shù),SQL注入就可能存在。然而,由于瀏覽器的限制,http頭中的一些隱藏鏈接、ApI調(diào)用和參數(shù)經(jīng)常被忽略。那么如何進行全面的SQL注入挖掘呢?在滲透測試中,無論注入工具多么強大,都會有局限性,手動注入可以解決這個弱點。當然,手動注入需要滲透者知道數(shù)據(jù)庫的語法。然而,由于SQL注入的靈活性和多樣性,如果詳細討論,恐怕可以寫成一本書。在這里,筆者將選擇最具代表性的例子進行論證。
注入中遇到的一種常見情況是注入得到的加密密文無法求解。為了解決這個問題,這里解釋幾種可行的方法。(1)使用國外的搜索引擎,往往會有意想不到的收獲,最常見的就是谷歌。(2)用Whois找出管理員郵箱,然后發(fā)郵件通知管理員更改密碼。郵件內(nèi)容無非是“我們是XXX檢測中心,你的網(wǎng)站有風(fēng)險。請立即更改管理員密碼……”。(3)分析Cookie。有時加密的密文會出現(xiàn)在cookies中。在這種情況下,cookies中的密文可以直接被管理員的密文替換。(4)在特定的注入環(huán)境中,原始密文有時可以被新密文替換。當然,這種方法的實施條件比較苛刻,在實踐中很少遇到。(5)使用密碼檢索功能。使用秘密安全問題來檢索密碼是很常見的。在這種情況下,您可以注入秘密安全問題的答案,然后使用密碼檢索功能成功登錄目標帳戶。(6)邏輯缺陷。比如一些登錄功能、修改功能、密碼檢索功能等。以密文的形式直接在數(shù)據(jù)包中傳輸。這時可以用密文代替,這樣就可以登錄更改密碼了。
如何防范SQL注入襲擊?
1.過濾代碼中的非法符號,例如,過濾和替換一些腳本標簽scrpt和img或frame。
2.直接強制定義一些函數(shù)變量。例如,amount函數(shù)只能直接寫正整數(shù)值,所以像names這樣的其他參數(shù)可以直接限制為只允許在中文和英文,寫的值等等。
3.對于一些帶入數(shù)據(jù)庫進行查詢和更新的語句,需要檢查get或post的數(shù)據(jù)參數(shù)是否直接鎖定了參數(shù)類型,以防止被注入惡意語句攻擊。
4.如果你不知道代碼,可以去網(wǎng)站安全公司尋求幫助,比如SINESAFE,鷹盾安全,綠盟, 啟明星辰等等。
« 滴滴蒸發(fā)的市場價值為60億美元。 Xiaomi Leshi和其他人被財政部追回。 A5 Entrepreneurship Morning News | 網(wǎng)傳學(xué)霸君的倒閉:資金鏈斷了,老師的工資就停滯不前了 »
周一周五 8:30 - 18:00