BugkuCTF_Web——“秋名山老司机”、“速度要快”、“cookies欺骗”

article/2025/9/28 7:03:36

文章目录

  • 一、“秋名山老司机”
  • 二、“速度要快”
  • 三、“cookies欺骗”

一、“秋名山老司机”

开启环境,提示要在两秒钟计算结果

在这里插入图片描述
多次刷新发现每次的值不一样,并且知道了答案要通过赋值给value然后post上去

在这里插入图片描述
想到可以通过获取网页源代码使用eval()执行算式

编写以下python脚本

#requests实现请求,bs4获取标签内容
import requests,bs4
url = 'http://123.206.87.240:8002/qiumingshan/'#由于每次刷新后算式会不同,需要保持会话
rs = requests.session()
rsg = rs.get(url)
content = rsg.content#获取div标签内容,并通过split分离出算式
soup = bs4.BeautifulSoup(content,'lxml')
txt = str(soup.find("div")).split("=")[0].split(">")[-1]#eval执行算式得到结果
ans = eval(txt)#将结果赋值并post
data = {"value":ans
}
rsp = rs.post(url,data=data)#打印返回的结果
print(rsp.text)

多次运行后得到FLAG

在这里插入图片描述

Bugku{YOU_DID_IT_BY_SECOND}

二、“速度要快”

打开环境提示开启速度太慢

在这里插入图片描述

使用Burp查看抓包

在这里插入图片描述
多次尝试发现,flag是base64密文且每次均会改变

解题需要把flag的明文赋值给margin并且post

编写以下python脚本

#requests实现请求,base64实现加解密
import requests,base64#session保持会话确保flag不变
rs = requests.session()
rsg = rs.get("http://123.206.87.240:8002/web6/")#获取包含在请求头里的密文
bs64 = rsg.headers['flag']#去除开头的 'flag:',此处引号后面有个空格才是base64密文,使用空格分隔提取后半部分
flag = base64.b64decode(bs64).decode().split(" ")[-1]#解密
flag = base64.b64decode(flag).decode()#赋值并且post
data = {'margin':flag
}
rsp = rs.post("http://123.206.87.240:8002/web6/",data=data)#打印返回结果
print(rsp.text)

运行得到FLAG

在这里插入图片描述

KEY{111dd62fcd377076be18a}

三、“cookies欺骗”

打开环境发现get请求了两个参数

在这里插入图片描述
filename通过base64解码发现是keys.txt

filename改成base加密的index.php:aW5kZXgucGhw

并且给line赋值,猜想是按行号读取

在这里插入图片描述
编写python脚本尝试读取整个index.php

import requestsrs = requests.session()for i in range(1,21):url = 'http://123.206.87.240:8002/web11/index.php?line={}&filename=aW5kZXgucGhw'.format(i)rsg = rs.get(url)print(rsg.text)

得到源码

error_reporting(0);$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");$line=isset($_GET['line'])?intval($_GET['line']):0;if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");$file_list = array(
'0' =>'keys.txt',
'1' =>'index.php',
);if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){
$file_list[2]='keys.php';
}if(in_array($file, $file_list)){
$fa = file($file);
echo $fa[$line];
}?>

代码审计可知:FLAG在文件keys.php里面,并且需要令get请求的Cookiemargin=margin

使用Burp构造请求,base64加密:a2V5cy5waHA=

得到FLAG

在这里插入图片描述

KEY{key_keys}

欢迎在评论区留言
感谢浏览


http://chatgpt.dhexx.cn/article/4ooMhVIe.shtml

相关文章

Java Web 后端技术

Java Web后端技术(一) 学习Java及其相关技术到现在也是第一次写博客,可能理解不是很深,但也是自己学的一个小的总结,也希望各位大神不吝赐教。 1.Tomcat服务器 1.1Java Web 在讨论Tomcat之前先说明一下Java Web。Java Web是用Java技术来解…

Web后端的基础知识

文章目录 JavaWeb后端计算机网络基础认识Tomcat服务器使用Maven创建Web项目Servlet创建Servlet探究Servlet的生命周期解读和使用HttpServletWebServlet注解详解使用POST请求完成登陆上传和下载文件使用XHR请求数据重定向与请求转发了解ServletContext对象初始化参数 CookieSess…

一分钟整明白web前端和Java后端的就业前景

前端:前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的…

web网页开发-前端

web网页开发-前端 refer web开发 https://developer.mozilla.org/en-US/docs/Learn 本文是入门性质文章,主要通过讲解html,css,js的基础知识对前端有一个入门级别的了解。 工具准备 git,使用gitee或者github进行代码托管 https://…

后端都需要学习什么?

目录 理解前、后端后端要干些啥呢小结汇总一下~ 理解前、后端 在一家软件公司里面,我们经常把开发人员分为前端开发人员,后端开发人员,那么我们怎么界定前端开发和后端开发呢。简单地说就是用户在屏幕上看到的和触摸到的体验,都是…

Web后端开发入门(2)

搭建JavaWeb应用开发环境--Tomcat服务器 下载与安装 首先,搜索Tomcat,找到如图网址 点击,进入Tomcat官网 在最左边一栏,有个Download,找到最新版Tomcat 9 ,点击 下拉,找到如上图所示位置&#…

Web后端学习

web后端 一.cs/bs架构 CS/BS模式/客户端与浏览器模式 cs 需要安装客户端,客户端向服务器请求,服务器响应数据返回。 bs 浏览器即可访问通过http协议 3.web资源 静态资源:人们浏览到的网页是一样的 动态资源:不同人、时间…

后端开发基础——Web应用基础

目录 一. 动态网站开发基础 1.1.C/S 与 B/S 1.2.Web开发的请求响应模式 1.3.HTTP协议 1.4.URL简介 1.5.Web服务器简介 二. javaEE简介 2.1.Tomcat服务器 2.1.1.安装Tomcat服务器 2.1.2.Tomcat目录结构 2.1.3.Tomcat配置 2.3.javaEE标准目录结构 2.4.Hello World程…

Web后端开发入门(1)

Web概述: 在英语中web表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为: 1.静态Web资源(如html页面):指web页面中始终不变的数据。 2.动态Web资源&#xff…

Javaweb后端开发必学(HTML、CSS、JS、Vue)

Javaweb HTML、CSSCSS引入方式< span >标签CSS选择器&#xff1a; 页面布局表格表单标签表单项 JavaScriptJavaScript引入方式JS语法变量数据类型运算符函数(Java中方法) JS对象ArrayStringJSON(对象标记法)BOMWindow 浏览窗口对象Location&#xff1a; 地址栏对象 DOM J…

0.Web 后端 开发

后端开发主要做什么: 后端程序主要工作就是 数据管理。 通常 包括数据的 存储 &#xff08;包括 增加、删除、修改&#xff09;和 查询 。 这听起来似乎很简单&#xff0c;其实有的业务流程非常复杂 &#xff08;想想淘宝购物&#xff09;&#xff0c;有时一个购买操作&#…

java课程设计 学生管理系统

java课程设计 学生管理系统 学生成绩管理系统 可实现功能 学生管理系统 查询学生信息&#xff1a;姓名、学号、性别、出生年月日。&#xff08;学号自动生成且唯一&#xff09;查询学生成绩&#xff1a;每个人都有数学、Java与体育与选修课查询学生课程进行公选课选课 教师管理…

java实现简易学生管理系统

最近在学java&#xff0c;看的黑马程序员的视频&#xff0c; 刚学到一个项目&#xff0c;学生管理系统&#xff0c;自己跟着用代码实现了一下。下面是我的代码。 javabean类 Student.java public class Student {private String id;private String name;private int age;priv…

java学生管理系统界面设计

关于学生管理系统的界面设计:代码如下: 数据库设计 DROP TABLE IF EXISTS stu; CREATE TABLE stu (stuId int(11) NOT NULL AUTO_INCREMENT,stuName varchar(30) DEFAULT NULL,stuSex varchar(30) DEFAULT NULL,stuAge int(11) DEFAULT NULL,stuJg varchar(30) DEFAULT NULL,s…

【Java】升级版学生管理系统项目

目录 一、前言 二、学生管理系统主要功能 在学生类下 在学生总部类下&#xff1a; main方法&#xff1a; 登录密码验证&#xff1a; 打印菜单&#xff1a; 增加学生信息&#xff1a; 查看学生信息&#xff1a; 删除学生信息&#xff1a; 修改学生信息&#xff1a; 查…

Java实现 “学生管理系统“

文章目录 一、项目简介二、系统展示三、程序设计 一、项目简介 本项目为基于java下实现模拟学生管理系统&#xff0c;具以下6个功能&#xff1a; 添加学生删除学生修改学生信息查询学生信息输出学生信息退出系统 二、系统展示 1. 菜单 2. 添加学生 3. 修改学生信息 4. 查询…

java学生成绩管理系统

学生成绩管理系统 使用java swing 和 jdbc 技术 管理学生信息 文章目录 学生成绩管理系统一&#xff0c;总体架构二、controller层的编写三、pojo层的编写四&#xff0c;view层的编写五&#xff0c;数据库的连接六&#xff0c;启动程序 一&#xff0c;总体架构 一共五个包 二…

Java——学生管理系统

学生管理系统实现步骤&#xff1a; 定义学生类学生管理系统的主界面的代码编写学生管理系统的查看所有学生的代码编写学生管理系统的添加学生代码的编写学生管理系统的删除学生的代码编写学生管理系统的修改学生的代码编写 学生系统主界面&#xff1a; public class Student…

Java学生管理系统设计与实现 (超详细,含课程设计)

最新文章出炉&#xff0c;欢迎点评 它曾是浏览器的王者&#xff0c;如今却前景堪忧...... 推荐阅读 ★★★★ 往期文章回顾&#xff1a; 1、Java开发岗位面试题汇总&#xff08;不断补充……&#xff09;★★★ 2、Java程序员必须掌握的英语词组 ★★ 3、学习Java的9张思…

用Java实现学生管理系统【简化版】基础

&#x1f389;博客首页&#xff1a;痛而不言笑而不语的浅伤 &#x1f4e2;欢迎关注&#x1f973;点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 欢迎讨论&#xff01; &#x1f52e;本文由痛而不言笑而不语的浅伤原创&#xff0c;CSDN首发&#xff01; &#x1f30b;系列专栏&…