[HCTF 2018]WarmUp

15 篇文章 0 订阅

[HCTF 2018]WarmUp

一些函数

empty() 函数用于检查一个变量是否为空。

bool empty ( mixed $var )

当 var 存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE。
以下的变量会被认为是空的:

"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)

is_string函数

is_string ( mixed $var ) : bool

如果 var 是 string 则返回 true,否则返回 false。

php mb_strpos()函数

mb_strpos():返回要查找的字符串在别一个字符串中首次出现的位置

语法:

mb_strpos (haystack ,needle )

参数:

haystack:要被检查的字符串。

needle:要搜索的字符串。

F12查看源码

在这里插入图片描述

发现php文件,打开

在这里插入图片描述

代码审计题

先查看白名单hint.php
在这里插入图片描述

猜测flag在ffffllllaaaagggg中利用include得到flag

先看下面的判断

在这里插入图片描述

判断file不是空,是字符串,过类的checkFile,否则打印滑稽图

checkFile中有3个返回ture

第一个if判断page是否为空是否为字符串

第二个判断是否存在白名单中,

在这里插入图片描述

截取page ?前的部分,没有则不截掉

这段代码会截取ffffllllaaaagggg的长度,然后将hint.php赋值给$_page,因为ffffllllaaaagggg在白名单内,所以绕过了检测,另外代码没有进行…/目录穿越的过滤

所以尝试一级一级的穿越,查找flag文件

第三个判断是否在白名单中

$_page = urldecode($page);

对page解码

第四个判断page是否在白名单中

打开hackbar 进行payload

http://1b07fa7e-56d2-4d5b-990e-79b12eab4edc.node3.buuoj.cn/source.php?file=source.php?/…/ffffllllaaaagggg

没有回显,也没有滑稽图证明可以,接下来尝试一级一级的穿越,查找flag文件

最后四级目录找到flag

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值