云曦2024年春季学期期中考复现

目录

Web

Web_SINGIN

简简单单的文件上传

好玩的PHP

渗透的本质

简简单单的sql

re

baby_re

easy xor

Crypto

easy_rsa

Rsa2

Crypto_Singin

Pwn

 pwn_Sing

Misc

easy_singin

Xjpg

流量分析1

流量分析3

流量分析2


Web

Web_SINGIN

1.使用右键检查,在js文件中发现base64编码

2.在hackbar中解码之后,得到flag

简简单单的文件上传

1.随便上传一个文件,点击上传,得到以下回显

2.根据回显,知道要修改文件的Content-Type为image/haha,于是想到抓包修改

3.上传成功之后,构造payload:172.16.17.6:7405/uploads/shell.php使用蚁剑连接

4.在蚁剑里面找到flag

好玩的PHP

1.先进行代码审计

 <?php
$p1 = @$_GET['a'];
$p2 = @$_GET['b'];
$p3 = @$_GET['c'];
$p4 = @$_GET['d']; //从 GET 请求中获取参数 'a', 'b', 'c', 'd' 的值,并使用 @ 符号来抑制可能的错误消息(如未定义索引)。
if(isset($_GET['a']) && isset($_GET['b']) && isset($_GET['c']) && isset($_GET['d'])) 
//检查是否所有四个 GET 参数 'a', 'b', 'c', 'd' 都已设置(即存在于请求中)。
    if($p1 != $p2 && md5($p1) == md5($p2)){
// 如果 $p1 和 $p2 的值不同,但它们的 MD5 哈希值相同,则执行以下操作。
        if($p3 === file_get_contents($p4)){
// 如果 $p3 的值与 $p4 指定的文件内容相同,则执行以下操作
            echo file_get_contents("flag.php"); //如果上述条件都满足,则输出 "flag.php" 文件的内容。
        }
    }
    else{
        die("请输入2个不同的值"); //如果 $p1 和 $p2 的值相同,或者它们的 MD5 哈希值不同,则输出错误信息并终止脚本执行。
    }
highlight_file("index.php"); //论上述条件是否满足,都高亮显示 "index.php" 文件的内容。

2.根据代码,构造相应的url,先满足第一个if

3.满足第二个if,这里需要注意file_get_contents()函数的利用,两个条件同时满足,得到flag 

渗透的本质

1.通过观察附件robots.txt,发现其中有很多文件,包括:zip,rar,备份文件等

2.这里想到工具dirsearch中的指定字典扫描,于是用python dirsearch.py -u 网址 -e php,html -w 字典路径来扫描

3.查看这个可疑文件,得到以下代码,进行代码审计

<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}
//这段代码检查$_GET[id]是否严格等于字符串"admin"。如果是,则输出“not allowed!”并退出脚本。注意这里使用了严格等于运算符===,这意味着它还会比较变量的类型。
$_GET[id] = urldecode($_GET[id]); //此外,这行代码将$_GET['id']的值进行URL解码,并将解码后的值重新赋给$_GET['id']。
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Flag: XXXXXXX </p>";
}//这段代码检查URL解码后的$_GET['id']是否等于字符串"admin"。如果是,则输出“Access granted!”和一个标志
?>

Can you anthenticate to this website?

资料:攻防世界-web高级-php2_%6e 解码-CSDN博客

4.通过抓包进行编码,这里进行了两次编码

原理:

$_GET[id] = urldecode($_GET[id]);

这句是进行一个url解码,在我们网页上输入网址位置也会进行一次url解码,代码中一句url解码 + 网页自带一句url解码,如果我没有算错的话应该是 2次 url解码,然后这个时候我们可以想到,url解码 + url解码 = admin,然后我们把admin进行编码两下

5.进行传参,得到flag

简简单单的sql

1.使用dirsearch扫描得到login.php,访问可得

2.密码使用admin,发现提示NO SQL,猜测是盲注

3.这里使用sqlmap来解题

自动爆数据库

sqlmap -u url --level 3 --dbs --batch

发现是UA头注入

爆数据表 

sqlmap -u url --level 3 -D challenges --tables --batch

 

爆数据列 

sqlmap -u url --level 3 -D challenges -T user_agents --columns --batch

 

爆字段,得到flag 

sqlmap -u url --level 3 -D challenges -T user_agents -C user_agent --dump  --batch

re

baby_re

1.判断出是32位,使用IDA查看,发现在主函数的Hex View-1中发现flag

2.整理可得flag

easy xor

1.先看是多少位的,再看是否加壳,发现是64位,无壳

2.

Crypto

easy_rsa

资料:CTF ——crypto ——RSA原理及各种题型总结_给定p,q,e,c,求解出明文m已知加密文件flag,enc和公钥pub.key,-CSDN博客

1.使用脚本跑一下,得到flag

Rsa2

1.先上网搜rsa中有关enc文件的知识点

资料:RSA解密-提供enc和pem文件类_flag.enc-CSDN博客

2.根据

Crypto_Singin

1.打开文件发现是Unicode字符

2.使用在线解码工具,得到Hex编码

3.解码之后,得到HTML编码

4.解码之后得到base64编码

5.得到flag

Pwn

 pwn_Sing

1.直接使用nc,然后ls查看目录,最后cat flag.txt得到flag

Misc

easy_singin

1.根据提示,使用在线根据进行解码,得到flag

Xjpg

1.根据提示“你会使用win10刷新快捷键吗”,想到f5隐写

2.用F5-steganography进行解密

3.打开kali中的output.txt查看

4.pk头,把文件头改成zip文件的文件头

5.最后使用brainfuck解码

流量分析1

1.用wireshark进行分析,并且导出http对象

2.发现666.zip文件

3.发现很多文件

4.打开1.txt和2.txt文件,发现1中有png的头部,6中有尾部,这说明6个文件可以组成一张png

png的头部为89 50 4E 47   尾部为AE 42 60 82

5.16进制之后,放入010editer,发现有一张二维码

6.解码得到flag

流量分析3

1.下载得到一个rar文件,重命名,解压

2.打开flag文件,发现有加密

3.进行流量分析,发现很多USB,猜测是键盘流量分析

4.使用相应工具,得到flag

资料:usb流量分析的一个题目分享_usb流量分析工具-CSDN博客

流量分析2

1.使用wireshark工具打开,发现是sql注入盲注的流量分析

2.过滤包含flag的http,并且根据盲注的特点,是一个一个的寻找,从(1,1)(2,1)寻找,再对照ASCILL表,发现与flag有关

3.对比之后得到flag

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IMU内参标定(理论)

1、内参标定标定什么&#xff1f; 生产零偏、标度因数误差、安装误差 2、现象是什么&#xff1f; 零偏现象&#xff1a;即使没有任何运动或旋转&#xff0c;IMU传感器仍然会输出一个非零的信号。零偏是一个恒定的误差&#xff0c;导致测量值始终偏离实际值。对于加速度计&am…

DolphinDB 携手九鞅科技,助力固收投研效能飞跃

随着金融市场开放的广度与深度不断拓宽&#xff0c;金融产品呈现出多样化的发展态势&#xff0c;其中债券投资组合凭借其低风险性、高流动性与稳健的收益表现&#xff0c;逐渐成为投资理财领域备受瞩目的焦点。投资经理不仅需要了解哪些债券值得投资&#xff0c;更要对债券投资…

【GESP试卷】2024年03月Scratch四级试卷

2024年GESP03月认证Scratch四级试卷 分数&#xff1a;100 题数&#xff1a;27 一、单选题(共15题&#xff0c;每题2分&#xff0c;共30分) 010203040506070809101112131415CDBBACBCDCDADBA 1、小杨的父母最近刚刚给他买了一块华为手表&#xff0c;他说手表上跑的是鸿蒙&…

朋友正确交往方式,以及保留有效沟通,才是对朋友的尊重!

人生就像一列火车&#xff0c;从生命之初驶向生命的终点&#xff0c;路途上有很多站点&#xff0c;每一个站点都会遇到不同的人&#xff0c;结交各式各样的朋友&#xff0c;中间有人下车&#xff0c;有人上车&#xff0c;有人与你走着走着就散了&#xff0c;有人偶有相见却已是…

Qt 科目一考试系统(有源码)

项目源码和资源&#xff1a;科目一考试系统: qt实现科目一考试系统 一.项目概述 该项目是一个基于Qt框架开发的在线考试系统&#xff0c;主要实现了考试题目的随机抽取、考试时间限制、成绩统计等功能。用户可以通过界面操作进行考试&#xff0c;并查看自己的考试成绩。 二.技…

计算机网络之应用层知识点总结

6.1 网络应用模型 &#xff08;1&#xff09;应用层概述 &#xff08;2&#xff09;网络应用模型的介绍 客户/服务器&#xff08;C/S&#xff09;模型 P2P模型 6.2 域名解析系统DNS &#xff08;1&#xff09;DNS系统介绍 &#xff08;2&#xff09;域名 &#xff08;3&#…

AI爆文写作:标题需要什么?情绪炸裂,态度要激烈,行为要夸张!

现在这个传播环境下&#xff0c;在公域中&#xff0c;轻声细语&#xff0c;慢慢的说&#xff0c;无法吸引到注意&#xff0c;没有人搭理。 标题要需要情绪张扬&#xff0c;态度激烈&#xff0c;行为夸张&#xff0c;大声喧闹。 唐韧的用户群是互联网产品经理&#xff0c;阅读量…

小猫咪的奇幻冒险:一个简单的Python小游戏

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、游戏简介与演示 二、游戏开发与运行 1. 环境搭建 2. 代码解析 3. 加速机制 三、游戏…

油猴插件刷学习通

油猴插件刷学习通 edge浏览器 浏览器进入这个网址https://microsoftedge.microsoft.com/addons/search/%E6%B2%B9%E7%8C%B4tampermonkey?hlzh-CN。 点我自动进入 点那个绿色的&#xff0c;点击获取 油猴插件下载在了这里 找到油猴图标&#xff0c;获取新脚本。 安装 …

DPDK实践之(1)dpdk基础使用

DPDK实践之(1)dpdk基础使用 Author: Once Day Date: 2024年5月19日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;Linux基础知识_Once…

Unity Terrain Adjust插件使用教程

一、Terrain Adjust插件介绍 二、插件下载以及导入 1、官方下载地址&#xff1a;Terrain Adjust 2、积分下载地址&#xff1a;Terrain Adjust 下载好之后&#xff0c;回到Unity当中&#xff0c;导入下载好之后的unitypackage包 三、插件使用 1、在使用之前一定要在场景中新…

【数据结构】二叉树的功能实现

文章目录 关于二叉树的创建如何创建二叉树实现二叉树的前、中、后序遍历层序遍历 关于二叉树的创建 在笔者的上一篇文章中堆进行了一个详细介绍&#xff0c;而二叉树是以堆为基础进行创建&#xff0c;它与堆的显著不同是 堆像是一个线性结构&#xff0c;堆的结构往往是一个数…

刷题之寻找重复数(leetcode)

寻找重复数 这题实际上就是变形的环形链表Ⅱ&#xff0c;下标为index的下一个元素是nums[index]&#xff0c;下下一个元素是nums[nums[index]] class Solution { public:int findDuplicate(vector<int>& nums) {int fast0;int slow0;while(1){fastnums[nums[fast]]…

力扣第141题和142题-环形链表,是否有环,环的入口节点

因这2道题均不改变链表结构&#xff0c;所以可以不创建新的临时头结点 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ bool hasCycle(struct ListNode *head) {if(headNULL||head->nextNULL)//若只有一个数…

Linux笔记之命令行JSON处理器jq

Linux笔记之命令行JSON处理器jq code review! 文章目录 Linux笔记之命令行JSON处理器jq1.安装2.jq 基本用法3.例程3.1. 示例JSON文件3.2. 读取特定字段3.3. 管道过滤器&#xff08;Pipe Filters&#xff09;3.4. 映射过滤器&#xff08;Map Filters&#xff09;3.5. 条件过滤…

go 微服务框架kratos错误处理的使用方法及原理探究

通过go语言原生http中响应错误的实现方法&#xff0c;逐步了解和使用微服务框架 kratos 的错误处理方式&#xff0c;以及探究其实现原理。 一、go原生http响应错误信息的处理方法 处理方法&#xff1a; ①定义返回错误信息的结构体 ErrorResponse // 定义http返回错误信息的…

从零起航,Python编程全攻略

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、Python入门之旅 二、Python进阶之道 三、Python爬虫实战 四、Python数据分析利器 五…

STL--set和multiset集合

set和multiset会根据特定的排序准则&#xff0c;自动将元素排序。两者不同之处在于multiset 允许元素重复而 set 不允许。如下图: 使用set或multiset&#xff0c;必须先包含头文件: #include <set>上述两个类型都被定义为命名空间std内的class template: namespace std…

挖掘抖快销售榜TOP500,这些单品正在引爆夏日市场!

凉鞋、短裤、草席、风扇……一个个夏日“限定”品类在4月就开始冲上抖音、快手两大电商的品类销售榜时&#xff0c;预示着夏日营销在春季已悄悄打响。 在炎炎夏日来临之前&#xff0c;品牌方们都会迎接一次夏日营销“大考”&#xff0c;铆足了劲调动消费者的积极性&#xff0c;…

揭秘Python的魔法:装饰器的超能力大揭秘 ‍♂️✨

文章目录 Python进阶之装饰器详解1. 引言装饰器的概念与意义装饰器在Python编程中的作用 2. 背景介绍2.1 函数作为对象2.2 高阶函数 3. 装饰器基础3.1 理解装饰器3.2 装饰器的工作原理 4. 带参数的装饰器4.1 为什么需要带参数4.2 实现带参数的装饰器使用函数包裹装饰器使用类实…