bugku 1~11题 write up(web)

一、第一题(web2)

查看源代码,查找flag,即可得出flag。

二、第二题(计算器)

在这里插入图片描述
输入163,发现只能输入一位数。位数被限制了。我们使用火狐浏览器的开发者工具(F12)调出来。定位到输入框的位置。发现
在这里插入图片描述
最大位数被限制了,把1改成3即可得出flag。

三、第三题(web基础$_GET)

打开题目发现是PHP代码,阅读代码可知,我们在URL中传入参数?what=flag即可得出flag

四、第四题(web基础$_POST)

打开题目发现是PHP代码,阅读代码可知,需要使用POST方式传值。
使用火狐浏览器的hackbar插件,如图
在这里插入图片描述

五、第五题(矛盾)

先介绍下is_numeric()函数:
is_numeric() 函数用于检测变量是否为数字或数字字符串。
PHP 版本要求:PHP 4, PHP 5, PHP 7
如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE。

分析代码,可知,num必须==1,但是又不能是数字或者是数字字符串。
==又表示只要值相等就可以了。那么我们可以在输入num=1XXX,xxx表示非数字。
在这里插入图片描述

六、第六题(web3)

1、进入题目发现一直在弹窗,点了几遍确定后感觉被耍了。
2、阻止弹窗查看源码。发现flag在最后一行的alert标签里。且被注释掉
3、发现flag是&#x类型的,这是unicode编码。不知道也没事,百度下就可以知道
4、百度搜索unicode在线解码,就可以得出flag。

七、第七题(域名解析)

看到题目域名解析我们就要想到hosts文件。
我们打开hosts文件
hosts文件位置C:\Windows\System32\drivers\etc
在文件末尾加入123.206.87.240 flag.baidu.com
在这里插入图片描述
在浏览器中输入flag.baidu.com或者123.206.87.240 即可得出flag
在这里插入图片描述

八、第八题(必须让他停下来)

打开题目发现一直在刷新,
观察源码,发现flag应该在图片刷出来的时候出现。我们使用burp suit进行抓包放包,经过了j几次(GO)操作之后,我们发现了flag.

九、第九题本地包含

观察代码发现flag.php被隐藏起来了。
尝试下传入参数?hello=hello,发现hello在下面代码中体现
在这里插入图片描述
这样我们就可以直接传入参数输出flag.php文件的内容,发现flag。
传入的参数是?hello=file(“flag.php”)
在这里插入图片描述

十、第十题(变量1)

在这里插入图片描述
观察源码发现代码最后一行有个可变变量。
在这里插入图片描述
我们让args=GLOBALS 全局数组变量

因为$args=GLOBALS 又var_dump($$args) ,所以和前面那个$ ,组成$GLOBALS
flag变量又在$GLOBALS中,var_dump  eval  成功得到flag

在这里插入图片描述

$GLOBALS介绍

  1. $GLOBALS['var']是外部的全局变量本身,在函数内部可以使用$GLOBALS数组调用
    2.作用域:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
  2. $GLOBALS超全局数组适用于任何地方

十一、第十一题(web5)

在这里插入图片描述
首先介绍下JSPFUCk
JSFuck(或为了避讳脏话写作 JSF*ck )是一种深奥的 JavaScript编程风格。以这种风格写成的代码中仅使用 [、]、(、)、! 和 + 六种字符。此编程风格的名字派生自仅使用较少符号写代码的Brainfuck语言。与其他深奥的编程语言不同,以JSFuck风格写出的代码不需要另外的编译器或解释器来执行,无论浏览器或JavaScript引擎中的原生 JavaScript 解释器皆可直接运行。鉴于 JavaScript 是弱类型语言,编写者可以用数量有限的字符重写 JavaScript 中的所有功能,且可以用这种方式执行任何类型的表达式。
简单地说,就是有人不想让自己的代码被别人认出来,用6种字符改造了自己的js代码

我们查看源码发现有一堆的 [、]、(、)、! 和 + ,把他们扔进浏览器控制台(火狐浏览器按F12打开控制台)进行调试,即可得出flag,记得要大写。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值