開啟pikachu靶場,點選頁面的超連結,可以發現url中的title上傳了乙個檔名到後台,後台讀取後返回資料到前端
接下來,我們可以像檔案包含漏洞的操作一樣,通過輸入payload跳轉到後台伺服器的根目錄下,獲取我們想要的檔案資訊(注:輸入的payload得是後台伺服器對應系統的目錄路徑)
../../../../../../../../../../windows/system32/drivers/etc/hosts把payload替換掉前端上傳的檔名然後提交,從而獲取後台伺服器的hosts檔案資訊
檢視後台源**:可以看出它收到前端的get請求後,並沒有做任何的安全措施考慮,直接就讀取執行了,這樣就很容易讓使用者直接從前端繞過,從而獲取後台伺服器的資訊
由於後台人員的疏忽或者不當的設計,導致不應該被前端使用者看到的資料被輕易的訪問到。 比如:
---通過訪問url下的目錄,可以直接列出目錄下的檔案列表;
---輸入錯誤的url引數後報錯資訊裡面包含作業系統、中介軟體、開發語言的版本或其他資訊;
---前端的原始碼(html,css,js)裡面包含了敏感資訊,比如後台登入位址、內網介面資訊、甚至賬號密碼等;
類似以上這些情況,我們成為敏感資訊洩露。敏感資訊洩露雖然一直被評為危害比較低的漏洞,但這些敏感資訊往往給攻擊著實施進一步的攻擊提供很大的幫助,甚至「離譜」的敏感資訊洩露也會直接造成嚴重的損失。 因此,在web應用的開發上,除了要進行安全的**編寫,也需要注意對敏感資訊的合理處理。
開啟pikachu靶場,開啟頁面的源**。發現有乙個備註測試賬號密碼,這個可能是開發者為了方便自己用寫的,但他沒想到寫的前端測試**包括注釋,都可以在前端看到的
登入頁面源**顯示的賬號密碼,f12開啟web控制台,開啟網路,點選對應的請求,可以看到它的cookie裡面顯示了abc[pw]密碼欄位和賬號
如果abc[pw]的值是md5加密的,我們可以到網上專門的解密**進行解密,這樣就能拿到對應賬號的密碼了
還有一種方法就是在url裡面輸入錯誤的位址引數,從而去獲取伺服器的作業系統、中介軟體版本等等。
輸入上面錯誤的位址引數,可以看到頁面顯示出了很多資訊。因為中介軟體apache採用的是預設配置,導致使用者可以訪問檔案目錄,從而去獲取那些洩露的資訊。而頁面也洩露了作業系統、php、中介軟體和其他的版本資訊,攻擊者就可以根據這些版本的公開漏洞去做針對性的攻擊!
我們也可以更改url中的檔名去嘗試登入。注意看url的變化,沒登入前他是findabc.php,登入後是abc.php。當修改檔名登入後,我們可以像前面一樣開啟web控制台,通過檢視cookie,從而去獲取它的登入賬號密碼。
防範措施:除了要進行安全的**編寫,也需要注意對敏感資訊的合理處理,比如:可以把錯誤的資訊遮蔽掉,對**的注釋進行處理,敏感的資訊不要公開。
C C 遍歷檔案和目錄
c c 遍歷資料夾要用到 finddata t結構體,函式 findfirst findnext和 fineclose,它們都定義在標頭檔案中,下面介紹具體如何使用.結構體 finddata t是用來儲存檔案各種資訊的,其中成員變數分別為 unsigned atrrib 檔案屬性的儲存位置,它儲存乙...
遞迴遍歷和刪除目錄
在踩過遞迴刪除資料夾的坑 刪了好多東西啊!之後,本人總結了一下採用遞迴遍歷目錄和遞迴刪除目錄。坑 的來歷 在遍歷目錄時,裡面會有 和 兩個目錄,分別指向上一級和再上一級的目錄,這兩個不能刪除,是指標,在windows下看不見,刪除檔案時,必須過濾掉這兩個,否則向上找檔案刪除會刪除所有檔案 我就是踩了...
遍歷整個目錄樹的檔案和目錄
在開發中我們常常需要遍歷整個目錄樹,這是我們寫乙個這樣的工具類,以後就方便多了,這個類中可以通過使用local 方法產生由本地目錄中的檔案構成的file物件陣列,或者通過使用walk 方法產生給定目錄下的由整個目錄樹中所有檔案構成的list.例子 輔助列印的工具類 public class ppri...