W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
注入漏洞(SQL、 命令等)通常指用戶繞過后臺代碼限制,直接在數(shù)據(jù)庫、 shell 內(nèi)執(zhí)行自定義代碼。
常見的注入漏洞有:
SQL 注入是指 Web 程序代碼中對于用戶提交的參數(shù)未做有效過濾就直接拼接到 SQL 語句中執(zhí)行,導(dǎo)致參數(shù)中的特殊字符打破了 SQL 語句原有邏輯,黑客可以利用該漏洞執(zhí)行任意 SQL 語句。
開發(fā)建議:
命令注入漏洞是指 Web 應(yīng)用未對用戶可控參數(shù)進行有效過濾,攻擊者可以構(gòu)造惡意參數(shù)拼接到命令上來執(zhí)行任意命令。
開發(fā)建議:
弱口令指管理后臺的用戶名密碼設(shè)置得較為簡單或者使用默認(rèn)帳號。攻擊者可以通過登錄這些帳號修改后臺數(shù)據(jù)或進行下一步的入侵操作。
開發(fā)建議:
文件上傳漏洞是指 Web 應(yīng)用允許用戶上傳指定文件,但未對文件類型、格式等做合法性校驗,導(dǎo)致可以上傳非預(yù)期格式的文件。
開發(fā)建議:
文件下載漏洞是指 Web 應(yīng)用允許用戶通過指定路徑和文件名的方式來下載對應(yīng)的文件,但未正確限制可下載文件所在的目錄范圍,導(dǎo)致預(yù)期范圍外的文件被下載泄露。
開發(fā)建議:
目錄遍歷是指由后臺服務(wù)對用戶輸入驗證不足或配置不嚴(yán)謹(jǐn)導(dǎo)致的服務(wù)器目錄內(nèi)容泄漏。外部可能通過目錄遍歷獲取系統(tǒng)文件、后臺代碼等敏感文件。
開發(fā)建議:
條件競爭比較常見的例子是攻擊者通過并發(fā) https 請求而達(dá)到多次獲獎、多次收獲、多次獲贈等非正常邏輯所能觸發(fā)的效果。
// 從DB里查詢該用戶剩余獲獎次數(shù),初始值為1
int remain_times = SelectRemainTimes();
if(remain_times > 0){
EarnRewards(); // 用戶獲得獎勵
ClearRemainTimes(); // 在DB里把該用戶的剩余獲獎次數(shù)清零
}
開發(fā)者的設(shè)計本意是只允許用戶獲得一次獎勵,但當(dāng)出現(xiàn)并發(fā)請求時,有可能出現(xiàn)請求 A 和請求 B 都剛好執(zhí)行完第2行代碼的情況,此時兩個請求的 remain_times 都為1,也就是可以通過第4行代碼的判斷,獲得兩次獎勵。
開發(fā)建議:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: