Get/Post

知識簡要

URL符號

?:(1) 使用?來鏈接參數,鏈接域名和參數。例如www.xxxxx.com/?a=1   //在PHP中GET傳參須要使用?進行鏈接php

   (2) 還能夠做爲清理緩存使用。例如:www.xxxxx.com/index.html和www.xxxxx.com/index.html?test1這兩個URL打開的頁面是相同的,可是後面的這個URL不調用緩存的test1的內容,因此被認爲是一個新地址被從新讀取。html

&:做爲不一樣參數的間隔符。瀏覽器

PHP簡易知識

PHP 是弱類型語言(弱類型語言的東西沒有明顯的類型,會隨着環境的不一樣自動變換類型)。緩存

echo:是一個顯示參數內容的命令。app

鬆散比較:使用兩個等號 == 比較,只比較值,不比較類型。post

嚴格比較:用三個等號 === 比較,除了比較值,也比較類型。spa

$what:變量what的表示方法,一般狀況下采用what做爲一個變量。firefox

$_GET:用於收集方法」get"的表單中的值。在HTTP中的GET方法不適合很大的變量值,通常狀況下值不能超過2000個字符。插件

$_POST:用於收集方法="post"的表單中的值。從帶有 POST 方法的表單發送的信息,對全部人都不可見,也不會在地址欄中顯示,而且對發送信息的量也沒有限制。但在默認狀況下,POST 方法發送的信息量最大值爲 8 MB(可經過設置 php.ini 文件中的 post_max_size 進行更改)。code

GET/POST

GET方法

訪問URL地址

$what=$_GET['what']; //將提交的what值傳給參數what
echo $what;          //顯示參數what的內容
if($what=='flag')    //若是參數what的內容爲flag
echo 'flag{****}';   //那麼顯示flag內容

獲得上圖的URL代碼,使用GET方法進行傳參,根據上圖的解釋說明,將flag傳參給what。直接在URL欄提交參數http://123.206.87.240:8002/get/?what=flag,就能夠彈出flag的內容了。

POST方法

$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';

話很少說,直接看題。源碼意思和上道題目差很少。POST方法就能夠直接在火狐瀏覽器的插件管理的地方搜索New Hackbar(連接地址:https://addons.mozilla.org/zh-CN/firefox/search/?q=New%20Hackbar&platform=WINNT&appver=77.0.1)安裝以後使用F9能夠彈出Hackbar的界面。勾選Enable Post Data,而後在下面的欄中輸入what=flag。就是經過Post的方法得到flag的內容了。

兩種傳參方法

用XCTF攻防世界中的一道題做爲引例,直接上圖。

以前使用的是直接在URL欄中添加get方法從而達到效果。一樣,使用Hackbar的時候也能夠直接在地址欄中直接傳參。

在使用GET方法達到目的以後,咱們再用Post提交b=2,從而獲得咱們想要的flag。

根據這些,就能夠經過利用GET和POST傳參獲得本身想要的了。

相關文章
相關標籤/搜索