BugkuCTF-WEB题file_get_contents

知识点

empty() 函数用于检查一个变量是否为空。empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

extract()函数从数组里将变量导入到当前的符号表。extract函数:可以进行变量覆盖。
语法:extract(array,extract_rules,prefix)
该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组里的各元素,将在当前符号表里创建对应的一个变量。第二个参数 type 用于指定当某个变量已经存在,而数组里又有同名元素时,extract() 函数如何对待这样的突。该函数返回成功导入到符号表里的变量数目。

file_get_contents()把整个文件读入一个字符串里。
语法:file_get_contents(path,include_path,context,start,max_length)
该函数是用于把文件的内容读入到一个字符串里的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。

trim()函数移除字符串两侧的空白字符或其他预定义字符。
语法trim(string,charlist)
经过分析,该段代码是将通过GET方法传入的参数赋值给其内某个变量,传入的参数如果和$fn文件里的字符一致时,便可以得到flag

本题分析

这道题目的考点是file_get_contents()函数绕过
绕过方法:
使用php://input伪协议绕过
1、将要GET的参数?xxx=php://input
用post方法传入想要file_get_contents()函数返回的值
2、用data://伪协议绕过
将url改为:?xxx=data://text/plain;base64,想要file_get_contents()函数返回的值的base64编码
或者将url改为:?xxx=data:text/plain,(url编码的内容)
本题适用的方法是第一类,因为还有个参数ac需要传递

解题流程

打开界面,有源码
在这里插入图片描述
trim函数:去除首尾空格
file_get_contents函数:读取文件内容
f变量从一个叫f变量从一个叫ffn的文件里读取字符串,并消除两端的空格。

方法一:

源码里有file_get_contents($fn),加上提示:txt???,盲猜flag.txt,访问一下
在这里插入图片描述

内容为bugku,
根据if($ac === $f),构造?fn=flag.txt,&ac=bugku,最后得到flag
因为先访问flag.txt,得到内容bugku,文件名赋给fn,f就是文件内容,这样f和ac就相等。
在这里插入图片描述
This is flag: flag{a549de013c870694e08b03dbc4822edd}

方法二:

Burp抓包,修改请求头GET /ac=flag&fn=php://input HTTP /1.1,请求信息最下面添加flag就可以
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

盛会再临,2018 中国大数据技术大会(BDTC)首曝日程及议题

满目皆干货,俯仰尽拾珠。作为年度技术趋势与行业应用的风向标,连续成功举办十一年的中国大数据技术大会(BDTC)携主题“大数据新应用”再度强势来袭,稳踏技术时代浪潮,势将引爆今冬技术圈数据,让…

Python eval 与 exec 函数的区别 - Python零基础入门教程

目录 一.Python eval 与 exec 函数的区别二.价值 10 个亿的智能机器人核心代码三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python eval 与 exec 函数的区别 eval 和 exec 都是 Python 内置函数,并且都能执行 Python 代…

BugkuCTF-WEB题程序员本地网站

在BurpSuite里添加X-Forwarded-For: 127.0.0.1

云计算的“傲慢”与“偏见”

还记得身高一米六的男生终于扬眉吐气,却又被知识狠狠碾压的那一次相亲节目现场吗?美女嘉宾的择偶标准明晃晃的写着“身高不能低于158公分,喜欢懂得云计算。”将“懂得云计算”排在择偶标准的第一位,究竟是什么操作?通俗…

Python bin 函数 - Python零基础入门教程

目录 一.Python bin 函数简介二.Python bin 函数语法三.Python bin 函数使用四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python bin 函数简介 bin 函数是 Python 内置函数,主要功能是返回整形 (int) 或者长整形 (lon…

BugkuCTF-WEB题MD5

解题流程 打开页面: 根据提示:md5 collision 找一个以0e开头的md5值 0e开头MD5值小结 s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e848240448830537924465865611904 s214587387a 0e…

Cloud一分钟 |小米瞄上电纸书市场;员工《卫报》开专栏控诉亚马逊;拼多多Q3财报:总收入33.724亿元...

Hello,everyone:11月22日早,星期四CSDN一分钟新闻时间:重庆建成首个5G连续覆盖试验区:覆盖面积2.4平方公里 5G远程驾驶、5G无人机、虚拟现实等多项5G应用同时亮相,标志着重庆5G网络在商用化发展之路上又前进了一步。 …

Python len函数 - Python零基础入门教程

目录 一.Python len 函数简介二.Python len 函数使用三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 中除了 print 函数之外,len 函数和 type 函数应该算是使用最频繁的 API 了,操作都比较简单。 一.P…

只了解View的事件分发是不够的,来看下输入系统对事件的处理

1.IMS的启动过程IMS的创建在SystemServer的startOtherServices方法中,不了解请查看技术争鸣!七大主题报告,四大技术专题,AI开发者大会首日议程全回顾AR热度不在? NO! 三星开发者大会将聚焦AR人工智能进行时:人类的未来…

BugkuCTF-WEB题你从哪里来

知识点 Referer的作用为告诉服务器请求是从哪里来的 这道题考察的是HTTP header里的Referer字段,Referer是HTTP请求头信息里面的一个常见字段,它提供了访问来源的信息。比如说,在某网站上看到一个广告并点了进去,那么我就可能会在…

Python super 函数 - Python零基础入门教程

目录 一.Python super 函数简介二.Python super 函数语法三.Python super 函数使用 1.案例一2.案例二: 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python super 函数简介 Python 内置函数 super 主要用于类的多继承…

Python callable 函数 - Python零基础入门教程

目录 一.Python callable 函数简介二.Python callable 函数使用三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 Python 内置函数 callable 用于检查一个对象是否是可调用的,如果函数返回 True,object 仍然可能调用…

BugkuCTF-WEB题cookie欺骗

知识点 isset&#xff1a; 检测变量是否设置&#xff0c;并且不是 NULL $_GET&#xff1a;收集来自 method“get” 的表单里的值 intval() 函数用于获取变量的整数值。 in_array() 函数搜索数组里是否存在指定的值。 举例&#xff1a; <?php $am array("Bill"…

重磅 | 阿里宣布组织架构大调整,新成立阿里云智能事业群,张建锋兼任总裁...

11月26日消息&#xff0c;阿里巴巴集团CEO张勇发出全员公开信&#xff0c;宣布阿里最新一次面向未来的组织升级&#xff0c;阿里云事业群升级为阿里云智能事业群&#xff0c;集团CTO张建锋将兼任阿里云智能事业群总裁&#xff1b;天猫升级为“大天猫”&#xff0c;形成天猫事业…

BugkuCTF-WEB题give_up

知识点 拿到源码后&#xff0c;就要考虑几个绕过的方法&#xff1a;的弱比较&#xff1a;0e和“字符串”&#xff1b;php的伪协议&#xff1b;eregi的绕过&#xff1a;%00的截断&#xff08;而\x00会将url后面的都截断&#xff0c;我们的目的是在执行到变量时实现截断&#xf…

大数据时代,谁的眼神锁定你?

数据时代当前&#xff0c;欢迎来到楚门的世界。双十一余韵未歇&#xff0c;刚处理完一波售后及退件等“剁手后遗症”的各方人马也已经为再战双十二做好了准备。截至 12 日零点&#xff0c;天猫双十一成交额达 2135 亿元。与此同时&#xff0c;据国家邮政局监测数据显示&#xf…

BugkuCTF-WEB题前女友

解题流程 0、打开网页 发现其内有一个链接 1、点击链接&#xff0c;查看PHP源代码 <?php if(isset($_GET[v1]) && isset($_GET[v2]) && isset($_GET[v3])){ // 检测以GET方式传入的三个参数 v1、v2、v3$v1 $_GET[v1]; // 变量v1等于传入的参数v1$v2 …

Python range 函数 - Python零基础入门教程

目录 一.Python range 函数简介二.Python range 函数使用 1.Python range 函数常规使用2.Python range 函数在 for 循环中使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 中使用最多的除了** print 函数** 就是 for 循…

周傲英、熊辉、李飞飞邀您共享技术嘉年华!BDTC 八折优惠现已进入两日倒计时(附大会终版日程)...

全球数字化趋势当前&#xff0c;大数据可谓向阳而生蓬勃发展。为了直击大数据学习发展中的痛点与瓶颈&#xff0c;深入解析热门技术在行业中的实践和落地&#xff0c;2018 年12 月 6-8 日&#xff0c;由中国计算机学会主办&#xff0c;CCF大数据专家委员会承办&#xff0c;CSDN…

BugkuCTF-WEB题login1

知识点 存在SQL约束攻击的网站&#xff0c;注册时通过数据库已有账户例如admin大量空格&#xff0c;随意密码点击注册&#xff0c;后端先在数据库查找select&#xff0c;将已有账户扩充相同长度&#xff0c;已有账户与注册账户&#xff08;有大量空格&#xff09;不等&#xf…