補充:常見的URL編碼
文件包含漏洞颗圣,我始終無法理解數(shù)據(jù)處理的細節(jié)部分待榔,為什么修改page的值之后,就能彈出敏感的文件信息了猎莲?當點擊鏈接文字后绍弟,瀏覽器如何和服務器進行數(shù)據(jù)交互的?這里面腳本又起到一個什么作用著洼?始終想不清楚里面的細節(jié)樟遣。等以后再回頭思考吧,現(xiàn)在可能缺少某個知識身笤,無法理清邏輯豹悬。
下面是點擊文字鏈接的一剎那,利用burpsuit抓到的數(shù)據(jù)包液荸。
按道理說瞻佛,我在前端看到的href=后面的地址明明是?page=file2.php,為什么這里卻向/etc/passwd發(fā)送請求呢娇钱?(這里真沒搞懂)
然后是回復包:
我目前的理解是:URL表示如何找到資源伤柄,而URI表示資源在哪涡尘。瀏覽器根據(jù)前端的url,
上面的內(nèi)容應該是我想錯了。首先响迂,瀏覽器就是根據(jù)url去發(fā)送請求的考抄,只不過,再我將該請求包扔到burpsuit的scan中掃描的時候蔗彤,才爆出來不同的數(shù)據(jù)包川梅!換句話說是scan模塊幫我測試出來了可能存在哪些漏洞!而不是說然遏,我點擊鏈接贫途,就發(fā)送的這個數(shù)據(jù)包!
想通了待侵,那就很簡單了丢早。下面附一張不同等級的PHP防御代碼圖:
實際上這個白名單的范圍還是比較大了。所以才會是高級秧倾。若是沒有漏洞的情況怨酝,就是只保留三個規(guī)定的頁面在白名單中,其他一律不允許就可以了那先。
補充一個知識:
$_GET['name']不僅能得到form提交的參數(shù)值农猬,還有ajax也能得到,最后一個售淡,我一直不敢確定的就是斤葱,在url欄輸入?yún)?shù)后,$_GET[]也能得到揖闸。
burpsuit檢測文件包含漏洞的流程:
點擊一個鏈接揍堕,瞬間抓包,然后利用scan掃描這個請求包汤纸。根據(jù)掃描包中的請求衩茸,來確定漏洞產(chǎn)生的位置。我估計蹲嚣,掃描原理就是不斷構造特殊的數(shù)據(jù)包向服務器發(fā)送递瑰,看服務器返回的信息來確定是否存在漏洞!然后隙畜,我們要么修改指定的參數(shù)抖部,去網(wǎng)頁驗證,要么直接看應答包中的內(nèi)容及可以了议惰。