HCTF 2018-warmup

特别经典的一个题哈,也是很久没发博客了,给大家分享一下。

 

--------------------------------------------------------------------------------------------

地址我就不发了,很多网站都有这个题

进入界面首先是一个滑稽的表情

 右键查看源代码

提示我们查看source.php

代码审计捏~

 先分析一下这段,file的值不能为零且为字符串还要在checkfile函数里面,这样会包含file并且退出,否则给你一张滑稽。

因为include能让我们执行文件上传漏洞或文件执行漏洞,所以我们要满足上面的三个条件

那么对于三个条件的满足其实就是满足上面代码的四个if

变量page相当于file.

第一个if 

 file的传参如果为空且不是字符串则输入you can't see it

所以我们传的参要为字符串

第二个if

 file传参的变量要在函数whitelist函数中,意思就是file要传参上面whitelist的两个白名单,就是source.php或hint.php

这段的意思是在传的参数后面添加一个?并且读取到?

 

进行一次url编码

又因为网页会自动进行一次url编码

而且根据上面的代码审计我们要把?进行两次url编码,因为如果不编码就无法执行后面的内容了

又因为白名单里面定义了两个文件 ,其中查看hint.php可以发现flag在ffffllllaaaagggg文件

所以构造payload为file=source.php%253F../../../../../../ffffllllaaaagggg

为什么这么多../呢?试出来的,当前目录下没有就尝试找上一级目录了。、

当然用 hint.php也是一样捏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值