BugkuCTF—WEB(持续更新)
WEB2
直接F12查看源码 <!--flag KEY{Web-2-bugKssNNikls9100}-->
计算器
先按下F12 改掉最长长度,保证可以输出结果,输入计算结果后拿到flag:flag{CTF-bugku-0032}
web基础$_GET
$what=$_GET['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
上述代码给出一个what变量(get请求),要求该变量等于flag
于是,在url栏上传该变量回车后拿到flag:flag{bugku_get_su8kej2en},如下图
web基础$_POST
为了区分上一题,我们先简单看一下GET请求和POST请求的区别
这一题因为火狐带有hackbar插件比较方便推荐使用火狐浏览器(如果你的Chrome浏览器有这个插件也可以)
按照上图过程添加网址(记得勾选 Post Data),传递数据what=flag,拿到flag:flag{bugku_get_ssseint67se}
矛盾
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
首先is_numeric()函数的作用是检测括号内容是否为数字或数字字符串
所以要拿到flag,必须保证变量num不是数字字符,但是num==1
这里可以使用%00截断(欲知详情请戳传送门),拿到flag:flag{bugku-789-ps-ssdf}
本题也有其他解法,感兴趣的话可以自己去搜索
WEB3
打开链接后直接F12查看源码,找到以下内容
明显看出是Unicode编码,然后使用解码工具(这里推荐一个常用的Unicode解码工具)
拿到flag:KEY{J2sa42ahJK-HS11III}
域名解析
这一题只需要把flag.baidu.com解析到123.206.87.240就可以了
具体操作步骤如下:
1. 打开文件夹找到hosts文件 C:\Windows\System32\drivers\etc\hosts
2. 用记事本的方式打开hosts文件并在最后一行添加 123.206.87.240 flag.baidu.com
PS:如果弹出以下弹窗,请戳--->传送门
3.在URL栏输入网址flag.baidu.com, 回车拿到flag:KEY{DSAHDSJ82HDS2211}
你必须让他停下
这道题需要用burpsuite抓包,在此附上BurpSuite的安装和环境配置教程
本地包含
<?php
include "flag.php"; //flag存储在flag.php这个脚本里,但是被注释掉了,我们需要把flag.php的源码整个显示出来
$a = @$_REQUEST['hello']; //无论是以POST还是GET方式,都可以给$a赋值
eval( "var_dump($a);"); //var_dump可以输出变量的类型和值
show_source(__FILE__);
?>