考点:代码审计
题目:
题目给了一个无法互动的页面,右键”查看源代码(ctrl+u)“
或者直接F12查看网页元素
网页翻到最后显示了一串代码
$cat=$_GET['cat'];意思是你可以在get处输入参数”cat“
echo $cat; (echo是一个输出函数,他表示会输出cat)
if($cat=='dog'):if是一个条件函数,你可以把他简单理解为如果,这段代码的意思就是如果cat=dog
echo ‘省略’:接着上文(如果cat=dog,就会输出一个东西,这个东西就是你需要的flag)
知识点普及:
网页的域名处也被称为:url
在url写一些东西就被称为:GET传参
除了用GET传入参数还可以用POST方法传入参数,这两者的区别就是:get直接在网页域名处输入(输入payload(攻击漏洞))。POST则需要工具传入参数比如在火狐浏览器下载hackbar插件
GET和POST学习链接:http请求中get和post方法的区别 - 知乎 (zhihu.com)
想要用免费的hackbar直接在火狐的扩展插件中搜,我在上图中用到插件名称即可。
回到题中,你已经清楚了什么GET传参直接在url输入:/?cat=dog
注意:web题符号非常区分中英文输入法,如果你写了一长串的payload但是如果其中有一个符号是中文输入法的,那么这串代码再怎么改都不可能成功执行,这一点要格外注意。
flag就出来了。