這道題也是讓我很迷。。。
打開就是not found,讓我一度以為是服務器掛了,細看發現有個404.php
訪問也沒發現什么東西,只有來自出題人的嘲諷 haha~
不過在首頁的header中發現個奇怪的東西,X-Method:haha,先記着,繼續找線索
用cansina掃描發現一個文件 1.php,不過訪問也沒發現什么有用的東西,只提示 not here,plese trying
接着我是一頓各種嘗試,無果。。。
最后看過提示,才知道X-Method:haha是在告訴我們要注意http的請求方法,http共有8種請求方法,如下
序號 方法描述
1 GET 請求指定的頁面信息,並返回實體主體。
2 HEAD 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
3 POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。
4 PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。
5 DELETE 請求服務器刪除指定的頁面。
6 CONNECT HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器。
7 OPTIONS 允許客戶端查看服務器的性能。
8 TRACE 回顯服務器收到的請求,主要用於測試或診斷。
逐個測試,當到了OPTIONS時,發現
經測試直接訪問這個url的話,頁面不變,所以想到應該還是依舊用OPTIONS方法,於是在訪問該url的時候抓包,然后在burp中修改請求方法,得到
然而這個文件並沒有什么用,但是訪問index.php 和 404.php 又不被允許
折騰了很久,才想起來之前cansina掃描到幾個403無權訪問的文件
.htaccess文件(或者"分布式配置文件"),全稱是Hypertext Access(超文本入口)。提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用於此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過Apache的AllowOverride指令來設置。概述來說,htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
簡單說,就是一個只對該文件所在的目錄起作用的配置文件,里面的配置也會覆蓋php.ini。扯個題外話,這種分布式配置文件大有用途,詳見:
.user.ini文件構成的PHP后門: http://www.vuln.cn/6001
利用.htaccess來執行你的webshell: https://bbs.2cto.com/read.php?tid=204685
回到正題,訪問該文件,得到一個html的地址
看到如下,自然想到是利用X-Forwarded-For偽造ip
嘗試了多次 X-Forwarded-For:127.0.0.1 都不行,實在沒辦法,又看了下提示,發現除了X-Forwarded-For,還有client-ip。沒系統學過http協議,對這些也不甚了解真的吃虧啊。。。
詳見:https://segmentfault.com/q/1010000000686700/a-1020000000687155