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

news2024/11/19 22:41:24

目录

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在没有密码或Face ID的情况下解锁iPhone

iPhone 是一款以其一流的安全功能而闻名的设备&#xff0c;包括面容 ID 和密码。但是&#xff0c;你有没有想过&#xff0c;如果没有这些安全措施&#xff0c;你是否可以解锁iPhone&#xff1f;无论您是忘记了密码&#xff0c;Face ID不起作用&#xff0c;还是只是对其他方法感…

提权方式及原理汇总

一、Linux提权 1、SUID提权 SUID&#xff08;设置用户ID&#xff09;是赋予文件的一种权限&#xff0c;它会出现在文件拥有者权限的执行位上&#xff0c;具有这种权限的文件会在其执行时&#xff0c;使调用者暂时获得该文件拥有者的权限。 为可执行文件添加suid权限的目的是简…

VUE使用screenfull实现网页全屏显示

使用方法 首先安装 npm install screenfull --save在使用.vue文件中 引入 import screenfull from screenfull在按钮方法中调用 screenfull.toggle()还可以检测全屏状态 screenfull.isFullscreen测试浏览器是否支持全screenfull screenfull.isEnabled API .request(ele) 全屏…

谓词逻辑(一)

一、句子的谓词符号化 谓词逻辑&#xff0c;也叫一阶逻辑&#xff0c;它对每个最简单的命题尽一步进行分解。 1个体词&#xff1a;可以独立存在的客体。 2谓词&#xff1a;描述一个个体词的属性或多个个体词之间的关系&#xff08;可用一元函数和多元函数来理解&#xff09;…

基于树的存储数据结构demo

一.简介 由于之前博主尝试Java重构redis&#xff0c;在redis中的的字典数据结构底层也是采用数组实现&#xff0c;字典中存在两个hash表&#xff0c;一个是用于存储数据&#xff0c;另一个被用于rehash扩容为前者两倍。但是我注意到了在redis的数据结构中&#xff0c;并没有像…

linux系统硬盘读写慢的排查方法

如果服务器硬盘读写慢&#xff0c;可能会导致处理性能降低&#xff0c;用户响应慢。因此及时排除故障至关重要。下面是硬盘读写慢的排查思路。 1、top命令查看硬盘是否繁忙。 2、找出占用硬盘带宽高的进程。 通过iotop命令进行查看&#xff0c;iotop命令是用于展示硬盘读写操作…

高中数学:平面向量-数乘运算

一、定义 顾名思义 向量的数乘运算&#xff0c;就是数量与向量相乘的运算 λ a → \mathop{a}\limits ^{\rightarrow} a→&#xff0c;λ∈R 二、λ a → \mathop{a}\limits ^{\rightarrow} a→的性质 1、长度 |λ|*| a → \mathop{a}\limits ^{\rightarrow} a→| |λ a …

设计模式6——单例模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 单例模式&#xff08;Singleto…

python科研数据可视化之折线图

例如 &#xff1a; 下面的配色表画出的图很好看。选择喜欢的颜色&#xff0c;找到代码中颜色部分进行修改即可。 代码部分已经有详细的注释&#xff0c;就不一一解释了。另外&#xff0c;如果想要坐标轴从设定的值开始就把下面代码中的范围xlim&#xff0c;ylim进行注释。 imp…

Goby 漏洞发布|Sonatype Nexus Repository Manager 文件读取漏洞(CVE-2024-4956)

漏洞名称&#xff1a;Sonatype Nexus Repository Manager 文件读取漏洞&#xff08;CVE-2024-4956&#xff09; English Name&#xff1a; Sonatype Nexus Repository Manager File Read Vulnerability(CVE-2024-4956) CVSS core: 7.5 影响资产数&#xff1a;93784 漏洞描述…

QT--TCP网络通讯工具编写记录

QT–TCP网络通讯工具编写记录 文章目录 QT--TCP网络通讯工具编写记录前言演示如下&#xff1a;一、服务端项目文件&#xff1a;【1.1】server_tcp.h 服务端声明文件【1.2】thread_1.h 线程处理声明文件【1.3】main.cpp 执行源文件【1.4】server_tcp.cpp 服务端逻辑实现源文件【…

开箱测评!吸猫毛除味神器,希喂FreAir Lite宠物空气净化器实测

掉毛季又来了&#xff0c;猫咪的毛发满天飞&#xff0c;怎么办&#xff1f;我家掉毛怪一到季节就开始掉老多毛&#xff0c;关键还喜欢在家里打架跑酷&#xff01;天上地下都是毛&#xff01;为了减少家里空气中浮毛&#xff0c;你做过那些努力呢&#xff1f;最近猫掉毛掉的&…

02-结构型设计模式(共7种)

上一篇&#xff1a;01-创建型设计模式(共6种) 1. Adapter(适配器模式) 适配器模式是一种结构型设计模式&#xff0c;它允许将一个类的接口转换成客户端所期望的另一个接口。这种模式通常用于解决接口不兼容的情况&#xff0c;使得原本由于接口不匹配而无法工作的类可以一起工作…

20232810 2023-2024-2 《网络攻防实践》实验十

1.实践内容 1.1SEED SQL注入攻击与防御实验 &#xff08;1&#xff09;使用数据库熟悉SQL查询&#xff1a; 我们已经创建了一个名为Users的数据库&#xff0c;其中包含一个名为creditential的表。该表存储了每个员工的个人信息&#xff08;例如&#xff0c;eid&#xff0c;密…

DOS学习-目录与文件应用操作经典案例-rd

欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 rd命令&#xff0c;全称Remove Directory&#xff0c;是DOS操作系统中的一个重要命令&#xff0c;用于删除指定的目录及其所有内容。 二.使用 命令格式…

Kubeblocks系列2-redis尝试之出师未捷身先死

背景&#xff1a; 上一节&#xff0c;完成了Kubeblocks系列1-安装。现在就想拿一个简单的应用测试一下kubeblocks这个所谓的神器是否好用&#xff0c;是否可以应用与生产&#xff01; Kubeblocks系列2-redis尝试 参照官方文档&#xff1a;创建并连接到 Redis 集群 确保 Red…

ORACLE 资源管理参数与等待事件resmgr:cpu quantum

RESOURCE_MANAGER_PLAN 先来看下参数的含义 官网链接&#xff1a;RESOURCE_MANAGER_PLAN (oracle.com) 意思翻译过来这个参数用于资源计划。后边的看完也不是很明白具体的作用 于是参考了以下文章 Oracle 参数 RESOURCE_MANAGER_PLAN 官方解释&#xff0c;作用&#xff0c;…

RH850F1KM-S4-100Pin_ R7F7016453AFP MCAL Gpt 配置

1、Gpt组件包含的子配置项 GptDriverConfigurationGptDemEventParameterRefsGptConfigurationOfOptApiServicesGptChannelConfigSet2、GptDriverConfiguration 2.1、GptAlreadyInitDetCheck 该参数启用/禁用Gpt_Init API中的GPT_E_ALREADY_INITIALIZED Det检查。 true:开启Gpt_…

【计算机视觉(2)】

基于Python的OpenCV基础入门——视频的处理 视频OpenCV视频处理操作&#xff1a;创建视频对象判断视频是否成功初始化读取视频帧获取视频特征设置视频参数声明编码器保存视频释放视频对象 视频处理基本操作的代码实现&#xff1a; 视频 视频是由一系列连续的图像帧组成的。每一…