XCTF_Web_新手练习区:get_post
第二題:get_post
目標:
了解http請求方法,此處考察get和post兩個最常用的請求方法。
HTTP協議中共定義了八種方法或者叫“動作”來表明對Request-URI指定的資源的不同操作方式,具體介紹如下:
- GET:向特定的資源發出請求。
- POST:向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的創建和/或已有資源的修改。
- OPTIONS:返回服務器針對特定資源所支持的HTTP請求方法。也可以利用向Web服務器發送’*'的請求來測試服務器的功能性。
- HEAD:向服務器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應消息頭中的元信息。
- PUT:向指定資源位置上傳其最新內容。
- DELETE:請求服務器刪除Request-URI所標識的資源。
- TRACE:回顯服務器收到的請求,主要用于測試或診斷。
- CONNECT:HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器。
Writeup
打開指定url,按要求進行解決,這里共有兩種方法
方法一:
Hackbar破jie方法傳送門
方法二:
使用Burpsuite
這里的POST請求如何請求呢?
將GET /?a=1 HTTP/1.1修改為POST /?a=1 HTTP/1.1
在最后一行添加Content-Type: application/x-www-form-urlencoded
在最后一行下的第二行輸入post的參數與其值(固定格式)
注:
http header里的Content-Type一般有這三種:
application/x-www-form-urlencoded:數據被編碼為名稱/值對。這是標準的編碼格式。
multipart/form-data: 數據被編碼為一條消息,頁上的每個控件對應消息中的一個部分。
text/plain: 數據以純文本形式(text/json/xml/html)進行編碼,其中不含任何控件或格式字符。postman軟件里標的是RAW。
form的enctype屬性為編碼方式,常用有兩種:application/x-www-form-urlencoded和multipart/form-data,默認為application/x-www-form-urlencoded。
當action為get時候,瀏覽器用x-www-form-urlencoded的編碼方式把form數據轉換成一個字串(name1=value1&name2=value2…),然后把這個字串追加到url后面,用?分割,加載這個新的url。(這個了解就好)
當action為post時候,瀏覽器把form數據封裝到http body中,然后發送到server。 如果沒有type=file的控件,用默認的application/x-www-form-urlencoded就可以了。 但是如果有type=file的話,就要用到multipart/form-data了。(這里主要是用到這個)
總結
以上是生活随笔為你收集整理的XCTF_Web_新手练习区:get_post的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: powershell使用git
- 下一篇: 小区和扇区,到底有什么区别?载频和载波呢