题目
URL:
http://123.206.87.240:8002/get/
页面内容:
$what=$_GET['what'];//获取提交的what的值传给参数what
echo $what; //显示参数what 的内容
if($what=='flag') //如果参数what的内容为flag
echo 'flag{****}'; //显示flag的内容
思路
- 首先查看页面内容
(为方便起见我直接将代码的简要解释加入到上面的代码展示部分。此题所需的基础将放在最后。)
代码说的很明白。给变量what用get方式赋予一个参数flag就可以得到答案。
方法
第一种:直接在url栏提交参数
http://123.206.87.240:8002/get/?what=flag
第二种:使用插件。插件的方法的跟第一种其实一样。
基础补充
php知识和http知识
-
http知识
http的请求分为好几种,分别起不同的作用
GET方法:请求服务器上的资源。请求的参数直接展现在url连接中,不用于安全传输,
POST方法:表示可能修改变服务器上的资源
PUT方法:从客户端向服务器传送的数据取代指定的文档的内容。
HEAD方法:只请求网页的报文头,不包含主体内容
DELETE方法:请求服务器删除指定的页面。
OPTIONS方法:它用于获取当前URL所支持的方法。
CONNECT方法:HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
TRACE方法:回显服务器收到的请求,主要用于测试或诊断
PATCH方法:是对 PUT 方法的补充,用来对已知资源进行局部更新 。
其上的请求方法还有更多细节上的区别.其中get和post是重点。此处暂不详细展开。 - URL符号含义补充:
?
:通过?来带参数,连接域名和参数(本题中就用到,连接域名和参数what)
&
:不同参数的间隔符 -
php知识
$_GET
:用于收集来自 method="get" 的表单中的值。HTTP GET 方法不适合大型的变量值。它的值是不能超过 2000 个字符的。
$what
:变量what的表示方法
echo
:回显命令,显示参数内容。php,shell,linux,bat等里面都有该命令,很常见。
网友评论