三十一 java中的注入攻擊

典型的sql注入攻擊
Select * from use_info where username = “input_usr_name” and password = “input_pwd”

密碼輸入 “ or “”=” 就變成了:

Select * from use_info where username = “input_usr_name” and password = “” or “” = “”
就可隨意登錄了. PreparedStatement可破, 盡量不用用字符串拼接生成運(yùn)行邏輯

操作系統(tǒng)命令注入。Java 語言提供了類似 Runtime.exec(…) 的 API,可以用來執(zhí)行特定命令,假設(shè)我們構(gòu)建了一個(gè)應(yīng)用,以輸入文本作為參數(shù),執(zhí)行下面的命令:

ls –la input_file_name

但是如果用戶輸入是 “input_file_name;rm –rf /*”,這就有可能出現(xiàn)問題了

利用哈希碰撞發(fā)起拒絕服務(wù)攻擊(DOS,Denial-Of-Service attack),常見的場(chǎng)景是,攻擊者可以事先構(gòu)造大量相同哈希值的數(shù)據(jù),然后以 JSON 數(shù)據(jù)的形式發(fā)送給服務(wù)器端,服務(wù)器端在將其構(gòu)建成為 Java 對(duì)象過程中,通常以 Hastable 或 HashMap 等形式存儲(chǔ),哈希碰撞將導(dǎo)致哈希表發(fā)生嚴(yán)重退化,算法復(fù)雜度可能上升一個(gè)數(shù)量級(jí)(HashMap 后續(xù)進(jìn)行了改進(jìn),我在[第 9 講]介紹了樹化機(jī)制),進(jìn)而耗費(fèi)大量 CPU 資源。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • MSSQL 跨庫查詢(臭要飯的!黑夜) 榨干MS SQL最后一滴血 SQL語句參考及記錄集對(duì)象詳解 關(guān)于SQL S...
    碧海生曲閱讀 5,917評(píng)論 0 1
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,818評(píng)論 18 399
  • 今天我畫了一條大魚,它是一條彩色的大魚。一條鯨魚跟它比起來就好像一個(gè)小饅頭一樣,銀河系跟它比起來就好像一盤子炒...
    田田糖糖閱讀 101評(píng)論 0 0
  • 周檢視(1015~1021)W29 【引子】:我們要知道,人都天生有傲慢,但有時(shí)候,對(duì)事情的處理,一點(diǎn)自信都沒有,...
    善護(hù)念之合一閱讀 218評(píng)論 0 1

友情鏈接更多精彩內(nèi)容