my_beloved   
  
愿世界美好与你环环相扣
May the beauty of the world embrace you
  

Get/Post

知识简要

URL符号

?:(1) 使用?来连接参数,连接域名和参数。例如www.xxxxx.com/?a=1   //在PHP中GET传参需要使用?进行连接

   (2) 还可以作为清理缓存使用。例如:www.xxxxx.com/index.html和www.xxxxx.com/index.html?test1这两个URL打开的页面是相同的,但是后面的这个URL不调用缓存的test1的内容,所以被认为是一个新地址被重新读取。

&:作为不同参数的间隔符。

PHP简易知识

PHP 是弱类型语言(弱类型语言的东西没有明显的类型,会随着环境的不同自动变换类型)。

echo:是一个显示参数内容的命令。

松散比较:使用两个等号 == 比较,只比较值,不比较类型。

严格比较:用三个等号 === 比较,除了比较值,也比较类型。

$what:变量what的表示方法,通常情况下采用what作为一个变量。

$_GET:用于收集方法”get"的表单中的值。在HTTP中的GET方法不适合很大的变量值,一般情况下值不能超过2000个字符。

$_POST:用于收集方法="post"的表单中的值。从带有 POST 方法的表单发送的信息,对所有人都不可见,也不会在地址栏中显示,并且对发送信息的量也没有限制。但在默认情况下,POST 方法发送的信息量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。

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传参得到自己想要的了。

posted @ 2020-06-21 19:40  暗明星辰  阅读(214)  评论(0编辑  收藏  举报