BugkuCTF训练题 WEB类

WEB2

很简单的一道签到题,右键检查即可看到flag
BugkuCTF训练题 WEB类_第1张图片

计算器

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

web基础$_GET

这道题也很简单,通过页面里的代码可以看出,what这个参数是用get请求来接收值,get请求的参数赋值可以在页面的url中直接进行。
BugkuCTF训练题 WEB类_第6张图片

web基础$_POST

post请求和上一道题则有所不同,post请求不能通过url的方式直接进行赋值,因此需要一些工具。
方法一
用火狐的hackbar插件对what参数进行赋值
BugkuCTF训练题 WEB类_第7张图片

矛盾

BugkuCTF训练题 WEB类_第8张图片
看页面中的代码
第一个if语句中的is_numeric函数的作用是若参数为数字或数字字符串则返回true否则返回false。
第二个if语句着要求num==1与前一个if语句视乎构成了一个矛盾。
因此联想到1=1永真,永远是true
获得flag
BugkuCTF训练题 WEB类_第9张图片

web3

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

你必须让他停下来

BugkuCTF训练题 WEB类_第12张图片
打开后发现是一个一直画面闪动的网页,查看网页源代码,观察片刻,发现会有那么一瞬间出现flag,那方法就很多了
1、burpsuite抓包 2、用浏览器自带的暂停功能 3、截图

变量1

BugkuCTF训练题 WEB类_第13张图片
查看页面中的代码
第一个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

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

你可能感兴趣的:(安全)