BugkuCTF-WEB题cookie欺骗

本文详细介绍了在BugkuCTF中遇到的一个WEB题目的解决过程,主要涉及PHP和Python技术。通过isset检测变量、$_GET获取GET参数、intval转换整数、in_array查找数组元素等PHP函数,以及base64编码和file()函数的使用。解题关键在于构造特定的cookie,使得margin等于margin,最终通过不同方式上传cookies获取源码并解密flag。
摘要由CSDN通过智能技术生成

知识点

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)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值