freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

day2_j2ee安全開發(fā)(編輯修改稿)

2025-03-03 16:23 本頁面
 

【文章內(nèi)容簡介】 ql注入漏洞是最接近數(shù)據(jù)的一個典型漏洞。 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 Java開發(fā)中,可參考的解決方法示例:使用預(yù)編譯占位符方式 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 多條件查詢,可以使用占位符拼接方式,偽代碼如: …… String sql=“select * from news where 1=1 ”。 if (“關(guān)鍵字查詢匹配 key1”) { ( and key1= ?)。 }else if (“關(guān)鍵字查詢匹配 key2”) { ( and key2= ?)。 } ……. WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 J2EE持久層框架,處理示例: Hibernate使用占位符參數(shù)綁定,偽代碼如: select * from news where key : key1 或 select * from news where key = ? iBatis(MyiBatis),偽代碼如: select * from news where key key1 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 Web通用 文件上傳 文件上傳服務(wù)器端驗證,存在問題代碼的偽代碼示例: 我們知道容器能夠解析的腳本文件的后綴名,是不能上傳的! WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 黑名單驗證,繞過問題一: 如果 String fileName=““ , (”.”)截取的第一個點開始字符串,截取后值為: fileType=“” ,繞過黑名單列表: WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 正確應(yīng)該使用 (.) WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 繞過問題二: (suffix[i]), 比如,有時候一些 web容器解析文件名時,可能忽略大小寫后綴名。比如,多個容器類型映射一個應(yīng)用目錄時(同時能夠解析 php文件): String fileName=““(后綴名全部大寫) ,從而繞過黑名單,因為 equals嚴(yán)格 大小寫的。 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 正確方式,使用 equalsIgnoreCase,忽略大小寫校驗: WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 Web通用 – 任意文件下載 J2EE偽代碼示例( File類文件輸出流實現(xiàn)方式): …… filepath=(path)。 File file = new File(filepath)。 //文件輸出流邏輯代碼 …… WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 使用 /../關(guān)鍵字進(jìn)行路徑回溯,偽 url示例如: 上面是可以控制絕對路徑,可下載任意文件,偽 url示例: 如果 filepath限制了路徑,如: filepath=”/xxx/“; filepath=(path)。 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 可參考處理方式:盡量不使用外部參數(shù)傳入方式。 如果開發(fā)時,需要使用外部參數(shù)傳入方式。邏輯代碼增加一層,使用 key去找 value,示例如: 9be5a474bec04c4db756db82c98af24a 數(shù)據(jù)庫設(shè)計時,增加一個字段,顯示文件路徑的 path值,在根據(jù)9be5a474bec04c4db756db82c98af24a這個 path值到數(shù)據(jù)庫里去找文件路徑 value,偽代碼示例: Filepath = (path)。 Value = … // 根據(jù) path值查詢數(shù)據(jù)庫里對應(yīng)的路徑 Value值 File file = new File(Value)。 ……. 這樣從外部就無法直接控制文件下載路徑! WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 J2EE特點所致 組件信息泄露 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 看到這段異常,從 sql信息到使用的框架信息及 web服務(wù)器信息全部暴露了! 編碼時,養(yǎng)成截取異常信息并存儲到日志文件里的好習(xí)慣,不要在頁面顯示出來! Java拋異常的特點,可能導(dǎo)致攻擊者的攻擊成本降低! WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 J2EE特點所致 安全目錄繞 METAINF及 WEBINF是 Java的 WEB應(yīng)用的安全目錄 ,客戶端無法訪問, 只有服務(wù)端可以訪問的目錄 。 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 比如,我們使用 servlet是可以訪問到的 , 在一個頁面跳轉(zhuǎn)功能 servlet實現(xiàn)的偽代碼示例: String path=(path)。 RequestDispatcher rd = (path)。 (request, response)。 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 比如,我們使用 servlet是可以訪問到的, 在一個頁面跳轉(zhuǎn)功能 servlet實現(xiàn)的偽代碼示例 ….. String path=(path)。 RequestDispatcher rd = (path)。 (request, response)。 ….. WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 讀取容器啟動時加載的配置文件 /WEBINF/,根據(jù)配置 (包括數(shù)據(jù)庫配置文件)及 class文件, class文件反編譯就是業(yè)務(wù)邏輯的源代碼了! WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 ? Java 代碼編碼安全 ? 代碼框架安全 64 WEB應(yīng)用安全和數(shù)據(jù)庫安全的領(lǐng)航者 J2EE框架安全 這里主要介紹外層流行框架 Struts2 MVC framework, Spring framework. OGNL使用安全 Struts2的動態(tài)方法調(diào)用 (Dynamic method Invocation) 及方法命名習(xí)慣 Struts2標(biāo)簽使用,與基礎(chǔ)漏洞原理一樣?
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1