BugkuCTF-WEB题cookie欺骗
知识点
isset: 检测变量是否设置,并且不是 NULL
$_GET:收集来自 method=“get” 的表单里的值
intval() 函数用于获取变量的整数值。
in_array() 函数搜索数组里是否存在指定的值。
举例:
<?php $am = array("Bill", "Steve", "trump", "David"); if (in_array("trump", $am)) { echo "匹配已找到"; } else { echo "匹配未找到"; } ?>
结果:
匹配已找到
file() 函数把整个文件读入一个数组里
file() 将文件作为一个数组返回。数组里的各单元都为文件里相应的一行,包括换行符在内。
解题流程
查看题目描述: cookies欺骗
打开网页
只看到很长的字符串
base64解码
通常的源文件应该是index.php
2、对index.php进行base64编码并作为新的filename的参数
3、查看源文件,其里line变量起到控制行数的作用:
http://114.67.246.176:13972/index.php?line=1&filename=aW5kZXgucGhw
4、编写python脚本,查看全部源码
import requests
rs = requests.session()f = open("out.php", "w")
for i in range(1,30):url = "http://114.67.246.176:13972/index.php?line={}&filename=aW5kZXgucGhw=".format(i)rsg = rs.get(url)print(rsg.text,file=f)f.close()
5、分析PHP源代码,结合题目描述,我们需要上传一个cookies,令margin=margin
<?
error_reporting(0);
$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:""); //表示有filename的话获取其内容,没有的话就赋值为空
$line=isset($_GET['line'])?intval($_GET['line']):0; //line有值直接获取,无值赋值为0
if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ="); //设置我们看到的URL
$file_list = array( //关联型数组
'0' =>'keys.txt',
'1' =>'index.php',
);if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){ //接下来的指示,cookie里的margin参数要设置,且要等于'margin'
$file_list[2]='keys.php'; //在数组里加入keys.php,这应该存着flag
}if(in_array($file, $file_list)){ //看我们传入的filename的值是否在上面的数组里
$fa = file($file); //以文件的方式打开
echo $fa[$line]; //按line行号,输出 因为line写成0(file将文件的内容作为数组时第一行下标是0,至于刚刚那个index.php应该是首行为空的)
}/*
isset: 检测变量是否设置,并且不是 NULL
$_GET:收集来自 method=“get” 的表单里的值intval() 函数用于获取变量的整数值。in_array() 函数搜索数组里是否存在指定的值。
举例:
<?php
$am = array("Bill", "Steve", "trump", "David");
if (in_array("trump", $am)){echo "匹配已找到";}
else{echo "匹配未找到";}
?>
结果:
匹配已找到file() 函数把整个文件读入一个数组里
file() 将文件作为一个数组返回。数组里的各单元都为文件里相应的一行,包括换行符在内。
*/
?>
至此,我们的目标网址应该是:
http://114.67.246.176:13972/index.php?line=&filename=a2V5cy5waHA=(filename替换为
keys.php的base64加密后的内容)
line写成0(file将文件的内容作为数组时第一行下标是0,至于刚刚那个index.php应该是首行为空的)
6、三类上传方法:
(1)通过BrupSuite抓包后上传
(2)编写python脚本上传
import requests
url = "http://114.67.246.176:13972/index.php?line=&filename=a2V5cy5waHA="mysession = requests.session()cookies = {'margin','margin'}r = mysession.post(url,cookies=cookies)print(r.text)
(3)使用Hackbar上传
7、得到flag:flag{4db7115d577eed11439dd72738823e9f}
BugkuCTF-WEB题cookie欺骗相关推荐
- BugkuCTF之web题之细心
BugkuCTF之web题之细心 一进网页发现: 这是啥????(黑人问号)一脸的懵逼,查看源代码?发现几个链接欸,点了几下发现,然并卵...发现提示找不到文件,那好吧,就一个一个来试试,试到robo ...
- CTF Web题 部分WP
1.web2 听说聪明的人都能找到答案 http://123.206.87.240:8002/web2/ CTRL + u 查看源代码 2.计算器 http://123.206.87.240:8002 ...
- BugkuCTF web基础$_GET
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...
- 20220129刷题--第4题-- cookie
20220129刷题–攻防世界–web新手第4题-- cookie 直接burp抓包,看到: 太明显了,查看cookie.php呗: 还得看包: 看到response中: flag: cyberpea ...
- 替换url部分_MOCTF部分Web题攻略
文章来自零釼实验室成员 南宫十六 文章共1864字32图 预计阅读时间5分钟 MOCTF部分Web题解 MOCTF的题目还是比较简单的,今天这篇就当个web类型的入门题吧.本来想把web题解题思路一次 ...
- 【CTF整理】Who are you (2017强网杯web题)
[CTF整理]Who are you (2017强网杯web题) 别人思路总结: 0x01 初探 打开网页就是一句"Sorry. You have no permissions." ...
- CGCTF平台web题writeup
前言 大概的做了做CGCTF的web题,基本都做出来了,在这整理了一下writeup,其中一些十分简单的题,就大概的写了些,后面一些难题会更详细,需要的可以直接拉倒最后面.共勉. 正文 签到题 10p ...
- ctf的web题目php,32C3 CTF 两个Web题目的Writeup
0x00 简介 作为一个销售狗,还能做得动Web题,十分开心. 这次搞了两个题目,一个是TinyHosting,一个是Kummerkasten. 0x01 TingHosting A new file ...
- CTF里面的WEB题的一些解决思路
CTF里面解决WEB题的一些常用思路: (福利:末尾有视频链接) 如图( 十八罗汉) PS:(下文的序列号是对图片中序列号的一些补充) WEB题中常用的工具 (1):直接查看源码:查看源码的方法除了鼠 ...
最新文章
- 进制转换,字符串,字节串之间转换
- 认清SQL_Server_2005的基于行版本控制的两种隔离级别
- Node.js 指南(入门指南)
- 学习oracle 入门第一课后的笔记记录
- The constness of a method should makes sense from outside the object
- python爬虫详解
- 计算机视觉相关公开数据集(免费下载)
- 全球及中国缓控释肥行业产能规模与投资盈利能力分析报告2022版
- 留美学子安全手册,这个可以有
- php mcv,swolle http mcv设计问题
- 台式计算机硬件组成主机,台式电脑主机的硬件组成部分简介
- createjs php通信,快速入门createjs实例教程
- 5、SRS4.0源代码分析之RTMP拉流处理
- Unity的Application.Quit()方法使用失效的其他解决方案。
- 于氏:简单监控全网服务
- 华为云空间費用_华为云空间怎么登录,有什么用?可惜99%的人都不知道
- Error: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Progra
- 图形学中的贴图采样、走样与反走样等,图形学走样
- php tp5 group的简单使用
- 玩转 python selenium---抓取某知名电商商品页的图片
热门文章
- 引入阿里云GA,商米加速IoT产品和解决方案全球化布局
- 掌门1对1微服务体系Solar|阿里巴巴Sentinel落地实践
- 如何在CDN边缘节点执行你的JavaScript?
- 创建VPC前,网络规划的4个问题你弄清了吗?
- 标签编辑新工具:如何使用控制台标签编辑器(Tag editor)
- containerd与安全沙箱的Kubernetes初体验
- 一行指令造成 60 亿美元蒸发,更让 Facebook 遭遇史诗级故障!
- “编程能力差的程序员,90%输在了这点上!”谷歌AI专家:都是瞎努力!
- 数学之美:嵌入式编程凹凸性之妙用(附C代码)
- AMD 发布第二代EPYC处理器,重新定义数据中心新标准