草草的記敘了一下,了解的不是很深刻。
現在出現了越來越多的**,有些我們根據檔案字尾就能知道它的指令碼型別,有些卻是假的或者根本沒有字尾。今天在查一些資料的時候瞥到了url重寫,就順便了解下並做個記錄。因為了解的目的不同,所以我不會去管如何具體的實現。
=1轉為:
1.html或者
1等等之類的url顯示在我們客戶端。
甚至可以把多層目錄轉換為一層目錄。
比如訪問
h9dawn.com/a.html
可以轉換為訪問伺服器上 a/b/c/目錄下的d.asp。
目的:方便收錄、更簡潔的url、安全性。
url重寫也是偽靜態的一種,通過一些配置檔案完成,它也可以做到和上面偽靜態一樣的功能,重定向也是它們的一種。
遇到這樣的站怎麼去判斷指令碼型別然後攻擊呢?
首先是觀察它的元件,一些常見的就不說了,寫這篇文章的時候我是遇到了乙個站用了shiro,然後判斷出它是jsp的站點;
你也可以嘗試把我們看到的url轉換為真實的url,比如把index.html替換為index.php、index.asp這樣子嘗試。
然後對於類似/index/id/1這樣子的url,你甚至不需要去換成真實的url,你可以直接在1的位置測試是否有注入。
我們經常看到有些網頁的url,在#後面還有一些內容,比如這樣子:/index.html#/login。我就會想,#後面的部分不是不會傳給伺服器嗎?那它有什麼用?是交給js處理的部分嗎?
#叫做hash也叫做錨,代表網頁中的乙個位置。後面的字元,就是該位置的識別符號。#是用來指導瀏覽器動作的,與伺服器端無關。
比如
h9dawn.com/index.php#dawn
假如index.php頁面下有
或者
這種,瀏覽器讀取這個url後,會自動滾動顯示dawn位置的頁面。
這裡有幾種情況:
當我訪問 h9dawn.com/index.html#*** 時,burp抓包可能會顯示/index.html;
然後當我在#後面隨意新增不存在的內容的時候,或者重新整理當前頁面的時候,發現burp中是沒有資料報通過的。
然後有時候也會抓到一些請求資料的包,我認為是先通過錨點定位到了那個頁面,然後頁面上需要一些動態請求的引數。
草草的記敘了一下,了解的不是很深刻。
URL重寫 偽靜態)
一.讓apache支援mod rewrite 開啟apache配置檔案httpd.conf,找到如下 loadmodule rewrite module modules mod rewrite.so 開啟rewrite,去點前面 二.開始過載allowoverride 查詢apache配置檔案htt...
偽靜態(URL重寫)
一 什麼是偽靜態?動態頁面偽裝成靜態頁面顯示 二 為什麼使用偽靜態?可以提高seo優化 三 什麼時候使用偽靜態?上線 四 如何實現偽靜態?在apache配置檔案 httpd.conf 中開啟 loadmodule rewrite module modules mod rewrite.so 所有 al...
URLRewrite實現偽靜態 url重寫
urlrewritefilter org.tuckey.web.filters.urlrewrite.urlrewritefilter 4.修改urlrewrite.xml a z world.jsp?id 1 world world.jsp?tid 1 html test1 1.jsp the o...