fileinclude-宜兴网信办解题思路--呕心沥血--非常详细!

简介: fileinclude-宜兴网信办解题思路--呕心沥血--非常详细!

第一步-分析题目:
打开题目场景,如下图:

这上面显示说,flag在这个/var/www/html/flag.php文件中。由此可知,这道题是文件包含题。

明确了目标,咱们在场景那个页面按下F12来看下源代码。

在做题之前咱们先了解了解COOKIE,可以把COOKIE理解为我们打开一个网站,我们属于客户端,打开一个网站就相当于我们给网站服务器发送了一个请求,然后服务器记录用户状态,颁发了一个COOKIE,然后我们更改这个COOKIE的值,再次请求。

下面直接看源代码中最重要的部分。

$lan = $_COOKIE['language'];
这行代码说明COOKIE是可控的,$lan 由COOKIE传入;language后面的值才是COOKIE值,是我们要传入$lan 里面的内容;所以说我们把这个值给language才可以发送请求。

if(!$lan)
{
@setcookie("language","english");
@include("english.php");
}
!是反之的意思可以理解为不的意思,如果说咱们上传的COOKIE 不存在$lan,则这就说明我们的$lan包含在english.php文件中。

else
{
@include($lan.".php");
}
else反之如果说我们上传的COOKIE存在$lan,则$lan会自动拼接.php,并进行包含。

分析到这里就可以了。

第二步-工具:
用到的有Kali,burpsuite,火狐浏览器。

第三步-起飞:
先打开火狐进入到场景:

随后打开burpsuite并进入Proxy:

去火狐刷新一下场景:

第二行send to repeater送去重放:

进入repeater重放功能:

接下来我们该构造 payload数据包了,在构造之前我们先了解了解php filter伪协议的规则,后面会用到。

php filter伪协议的规则:
php://filter/过滤器|过滤器/resource=待过滤的数据流
知道了规则后, 那我们就来构造payload数据包:

php://filter/convert.base64-encode/resource=/var/www/html/flag
read读取,convert转换,base64,encode编码,

resource=flag转换到flag中,就是说把flag.php文件转换为base64编码格式。

/var/www/html/flag意思是flag.php文件在var文件夹里面的www文件夹里面的html文件夹里面,可以看这篇博客最上面的第一张图片。

因为$lan会自动拼接.php,并进行包含,所以我们不需要加.php后缀。

上传payload数据包:

点Send发送请求,拿到base64编码:

进行base64编码解码,拿到flag:

补充:
base64编码解码工具网上可以搜到的,是免费的。

目录
相关文章
|
算法
【迎战蓝桥】 算法·每日一题(详解+多解)-- day3
💖1. 链表中倒数第k个结点 💖2. 反转链表(五种解题思路) 💖3. 合并两个排序的链表
105 0
|
算法
【迎战蓝桥】 算法·每日一题(详解+多解)-- day1
【迎战蓝桥】 算法·每日一题(详解+多解)-- day1
111 0
【迎战蓝桥】 算法·每日一题(详解+多解)-- day1
|
算法 测试技术
【迎战蓝桥】 算法·每日一题(详解+多解)-- day9
💖1. 两个链表的第一个公共结点 💖2. 二叉树的深度 💖3. 数组中只出现一次的数字
139 0
【迎战蓝桥】 算法·每日一题(详解+多解)-- day9
|
算法
【迎战蓝桥】 算法·每日一题(详解+多解)-- day5
💖1. 数组中出现次数超过一半的数字 💖2. 二进制中1的个数 💖3. 替换空格
109 0
【迎战蓝桥】 算法·每日一题(详解+多解)-- day5
|
存储 算法 搜索推荐
【迎战蓝桥】 算法·每日一题(详解+多解)-- day8
💖1. 连续子数组的最大和 💖2. 回文数索引 💖3. 把数组排成最小的数
【迎战蓝桥】 算法·每日一题(详解+多解)-- day8
|
算法
【迎战蓝桥】 算法·每日一题(详解+多解)-- day10
💖1. 和为S的连续正数序列 💖2. 左旋转字符串 💖3. 翻转单词序列
140 0
|
算法
【迎战蓝桥】 算法·每日一题(详解+多解)-- day11
💖1. 按之字形顺序打印二叉树 💖2. 二叉搜索树的第k个节点 💖3. 二叉搜索树的第k大节点
|
算法
【迎战蓝桥】 算法·每日一题(详解+多解)-- day2
💖1. 斐波那契数列 💖2. 青蛙跳台阶问题 💖3. 矩形覆盖
109 0
|
算法 程序员 测试技术
【算法集训 | 暑期刷题营】8.1题---线性dp
【算法集训 | 暑期刷题营】8.1题---线性dp
【算法集训 | 暑期刷题营】8.1题---线性dp
|
存储 Web App开发 机器学习/深度学习

热门文章

最新文章