介紹一下如何利用路徑遍歷進行攻擊及如何防范筆試題目

時間:2018-12-31 12:00:00 資料大全 我要投稿

介紹一下如何利用路徑遍歷進行攻擊及如何防范筆試題目

  如果應(yīng)用程序使用用戶可控制的數(shù)據(jù),以危險的方式訪問位于應(yīng)用服務(wù)器或其它后端文件系統(tǒng)的`文件或目錄,就會出現(xiàn)路徑遍歷

介紹一下如何利用路徑遍歷進行攻擊及如何防范筆試題目

  String rurl = request.getParameter(“rurl”);

  BufferedWriter utput2 = new BufferedWriter(new FileWriter(new File(“/home/chenyz/”+rurl)));

  攻擊者可以將路徑遍歷序列放入文件名內(nèi),向上回溯,從而訪問服務(wù)器上的任何文件,路徑遍歷序列叫“點-點-斜線”(..\)

  http://***/go.action?file=..\..\etc\passwd

  避開過濾

  第一種是過濾文件名參數(shù)中是否存在任何路徑遍歷序列(..\)

  如果程序嘗試刪除(..\)來凈化用戶輸入,可以用

  ….// ….\/ …./\ ….\\

  進行URL編碼

  點–>%2e 反斜杠–>%2f 正斜杠–>%5c

  進行16為Unicode編碼

  點–>%u002e 反斜杠–>%u2215 正斜杠–>%u2216

  進行雙倍URL編碼

  點–>%252e 反斜杠–>%u252f 正斜杠–>%u255c

  進行超長UTF-8 Unicode編碼

  點–>%c0%2e %e0$40%ae %c0ae

  反斜杠–>%c0af %e0%80af %c0%af

  正斜杠–>%c0%5c %c0%80%5c

  預(yù)防路徑遍歷的方法:

  1.對用戶提交的文件名進行相關(guān)解碼與規(guī)范化

  2.程序使用一個硬編碼,被允許訪問的文件類型列表

  3.使用getCanonicalPath方法檢查訪問的文件是否位于應(yīng)用程序指定的起始位置

【介紹一下如何利用路徑遍歷進行攻擊及如何防范筆試題目】相關(guān)文章:

1.如何進行自我介紹?

2.層次遍歷算法筆試題

3.如何進行面試自我介紹

4.如何進行求職自我介紹

5.如何更好的進行自我介紹

6.如何用英語進行自我介紹

7.如何防范求職陷阱

8.如何準備筆試