BugkuCTF训练题 WEB类

WEB2

很简单的一道签到题,右键检查即可看到flag
在这里插入图片描述

计算器

在这里插入图片描述
看到题目的第一步就是想把正确的计算结果输入进去,但是始终只能输入一个数字,点击验证的话会显示答案错误
在这里插入图片描述
后来想到使用抓包的方法来改变数据,但是其实这只是一个前端认证抓包也不会将请求数据发送出去。
查看网页源代码
在这里插入图片描述
将代码中最大输入长度改成3,再重新输入正确答案即可获得flag
在这里插入图片描述

web基础$_GET

这道题也很简单,通过页面里的代码可以看出,what这个参数是用get请求来接收值,get请求的参数赋值可以在页面的url中直接进行。
在这里插入图片描述

web基础$_POST

post请求和上一道题则有所不同,post请求不能通过url的方式直接进行赋值,因此需要一些工具。
方法一
用火狐的hackbar插件对what参数进行赋值
在这里插入图片描述

矛盾

在这里插入图片描述
看页面中的代码
第一个if语句中的is_numeric函数的作用是若参数为数字或数字字符串则返回true否则返回false。
第二个if语句着要求num==1与前一个if语句视乎构成了一个矛盾。
因此联想到1=1永真,永远是true
获得flag
在这里插入图片描述

web3

在这里插入图片描述
点开了之后就是一堆alert的弹窗窗口
首先右键查看网页源代码
在这里插入图片描述
有一行特别显眼看上去很眼熟的代码这其实就是url里一些参数的url代码。将代码粘贴到记事本,将记事本的名称改为html文件,打开即可复现答案

你必须让他停下来

在这里插入图片描述
打开后发现是一个一直画面闪动的网页,查看网页源代码,观察片刻,发现会有那么一瞬间出现flag,那方法就很多了
1、burpsuite抓包 2、用浏览器自带的暂停功能 3、截图

变量1

在这里插入图片描述
查看页面中的代码
第一个if语句中的isset函数在php中的意思就是

isset函数:后跟的参数为空返回false,不为空返回true

第二个if语句中preg_match函数的意思是

preg_match("/^\w+ / " , /", /",args) :args的值要符合正则表达式/^\w+$/

args就代表另一个变量。所以我们就给args赋值一个变量名,那么PHP的九大全局变量,一个一个试。

$_POST [用于接收post提交的数据] $_GET [用于获取url地址栏的参数数据] $_FILES [用于文件就收的处理img
最常见] $_COOKIE [用于获取与setCookie()中的name 值] $_SESSION
[用于存储session的值或获取session中的值] $_REQUEST [具有get,post的功能,但比较慢]
SERVER[是预定义服务器变量的一种,所有SERVER[是预定义服务器变量的一种,所有_SERVER
[是预定义服务器变量的一种,所有_SERVER开头的都 $GLOBALS [一个包含了全部变量的全局组合数组] $_ENV [
是一个包含服务器端环境变量的数组。它是PHP中一个超级全局变量,我们可以在PHP 程序的任何地方直接访问它]
当args=GLOBALS时,flag出现。

web5

在这里插入图片描述
打开网页之后出现如上的画面,随便输入一个数字提交都是出现在好好看看,查看网页源代码
在这里插入图片描述
发现一大堆看不懂的[]!什么的
百度了一下发现是JSFuck加密(这加密方式真Fuck有意思)
解题思路就是将这一大串JSFuck密文复制到console控制台回车即可获得明文
在这里插入图片描述
将获得的明文转换为大写即正确的flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值