1.15学习

web

ctfhub-网站源码

打开环境,查看源代码无任何作用,但是其提醒就在表面暗示我们用dirsearch进行目录扫描,登录kali的root端,利用终端输入dirsearch -u 网址的命令扫描该网址目录,扫描成功后获得信息,在信息的末尾有一个与周边不同的颜色出现那么我们在环境的网址后输入/www.zip就自动下载了一个附件解压后得到了一个flag文件,在原环境中访问该文件

ctfhub-bak文件

同上题一样,均是查看web文件目录,开启环境后,看到了一个信息“flag in index.php”,那么首先用dirsearch扫描,然后搜索在环境中看到的重要信息,“index.php”

 获得了flag所在web目录,访问即可得到文件,打开后看到一个flag

ctfhub-vim缓存

如题,缓存留在服务器上,那么我们同样dirsearch它在网页中我们同样发现了一个重要信息,扫描后顺利找到了index.php在网址输入"/.index.php.swp"得到一个文件,文本打开即可看到flag

ctfhub-.DS_Store

我们用dirsearch扫描,得到了结果输入后自动下载文件,文本打开后看到了flag here将这一部分复制访问环境,注意删除空格、$、以及后面的noteustr(这是妨碍我们解题的)便在网页出现了flag

re

nssctf-[SWPUCTF 2021 新生赛]简简单单的解密

下载附件后查看代码

import base64,urllib.parse
key = "HereIsFlagggg"
flag = "xxxxxxxxxxxxxxxxxxx"

s_box = list(range(256))
j = 0
for i in range(256):
    j = (j + s_box[i] + ord(key[i % len(key)])) % 256
    s_box[i], s_box[j] = s_box[j], s_box[i]
res = []
i = j = 0
for s in flag:
    i = (i + 1) % 256
    j = (j + s_box[i]) % 256
    s_box[i], s_box[j] = s_box[j], s_box[i]
    t = (s_box[i] + s_box[j]) % 256
    k = s_box[t]
    res.append(chr(ord(s) ^ k))
cipher = "".join(res)
crypt = (str(base64.b64encode(cipher.encode('utf-8')), 'utf-8'))
enc = str(base64.b64decode(crypt),'utf-8')
enc = urllib.parse.quote(enc)
print(enc)
# enc = %C2%A6n%C2%87Y%1Ag%3F%C2%A01.%C2%9C%C3%B7%C3%8A%02%C3%80%C2%92W%C3%8C%C3%BA

 前面的代码告诉我们这是一个RCE4加密

RC4 算法非常简单:用从1~256个字节的可变长度密钥初始化一个256字节的状态矢量S,S的元素记为S[0],s[1],…,S[255],从始至终置换后的S包含从0~255的所有8比特数。对于加密和解密中应用的密钥流的产生,密钥流中的每个密钥k是由S中255 个元素按一定的方式选出一个元素而生成 每生成一个密钥k,S中的元素就被重新置换一次。
总的来说就是虽然每一次的s盒都不一样,但是rc4为对称加密,加解密过程可逆,因此解密直接按原程序跑就可以(因为由流程可以看出只有最后一步异或操作是对字符串的加密,前面的操作均为对s盒的更改运算,而且最后一步异或也可逆)

但是我们更应该关心的一个是 enc如何产生的,大致就是flag经历了一系列加密(两个循环)后,转化为一个字符串,且为cipher变量,然后cipher变量又进行base64编码然后转为utf-8字符串,然后再用base64解码再换为url编码,所以base64的编解码直接对最终的enc无作用,

为了逆写程序,我们只需先将key,enc输入,然后对enc进行url解码即可,而rce4加密过程照搬

import urllib.parse
key='HereIsFlagggg'
enc='%C2%A6n%C2%87Y%1Ag%3F%C2%A01.%C2%9C%C3%B7%C3%8A%02%C3%80%C2%92W%C3%8C%C3%BA'
crypt=urllib.parse.unquote(enc)
flag=''
s_box=list(range(256))
j=0
for i in range(256):
    j = (j + s_box[i] + ord(key[i % len(key)])) % 256
    s_box[i], s_box[j] = s_box[j], s_box[i]
res = []
i = j = 0
for s in crypt:
    i = (i + 1) % 256
    j = (j + s_box[i]) % 256
    s_box[i], s_box[j] = s_box[j], s_box[i]
    t = (s_box[i] + s_box[j]) % 256
    k = s_box[t]
    flag+=chr(ord(s)^k)
print(flag)

#NSSCTF{REAL_EZ_RC4}

 misc

buuctf-N种方法解决

下载附件后是一个exe文件,但是不可运行用010打开,发现是一个base64编码的图片,将base64编码转为图片后得到了一个二维码,解码即可

crypto

buuctf-password

下载附件后打开看到的是,没有任何编码或者算法,试着数了数key{}中的x有多少个,10个,和zs19900315的个数等,试试,正确了

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

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

相关文章

Windows部署NVM并下载多版本Node.js的方法(含删除原有Node的方法)

本文介绍在Windows电脑中,下载、部署NVM(node.js version management)环境,并基于其安装不同版本的Node.js的方法。 在之前的文章Windows系统下载、部署Node.js与npm环境的方法(https://blog.csdn.net/zhebushibiaoshi…

Android Studio历史版本包加载不出来,怎么办?

为什么需要下载历史版本呢? 虽然官网推荐使用最新版本,但是最新版本如果自己碰到问题,根本找不到答案,所以博主这里推荐使用历史版本!!! Android Studio历史版本包加载不出来? 下…

一招解决word嵌入图片显示不全问题

大家在word中插入图片的时候有没有遇到过这个问题,明明已经将图片的格式选为“嵌入式”了,但是图片仍然无法完全显示,这个时候直接拖动图片可能会使文字也乱掉,很难精准定位位置。 这个问题是由于行距设置导致的,行距…

C# (图文教学)在C#的编译工具Visual Studio中使用SQLServer并对数据库中的表进行简单的增删改查--14

目录 一.安装SQLServer 二.在SQLServer中创建一个数据库 1.打开SQL Server Manager Studio(SSMS)连接服务器 2.创建新的数据库 3.创建表 三.Visual Studio 配置 1.创建一个简单的VS项目(本文创建为一个简单的控制台项目) 2.添加数据库连接 四.简单连通代码示例 简单连…

CentOS 7 下 MySQL 5.7 的详细安装与配置

1、安装准备 下载mysql5.7的安装包 https://dev.mysql.com/get/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar 下载后上传至/home目录下 2、mysql5.7安装 2.1、更新yum并安装依赖 yum update -y sudo yum install -y wget sudo yum install libaio sudo yum install perl su…

HunyuanVideo 文生视频模型实践

HunyuanVideo 文生视频模型实践 flyfish 运行 HunyuanVideo 模型使用文本生成视频的推荐配置(batch size 1): 模型分辨率(height/width/frame)峰值显存HunyuanVideo720px1280px129f60GHunyuanVideo544px960px129f45G 本项目适用于使用 N…

TY1801 反激变换器PWM GaN功率开关

TY1801 是一款针对离线式反激变换器的多模式 PWM GaN 功率开关。TY1801 内置 GaN 功率管,它具备超宽 的 VCC 工作范围,非常适用于 PD 快充等要求宽输出电压的应用场合,系统不需要使用额外的绕组或外围降压电路,节省系统 BOM 成本。TY1801 支持 Burst&…

Spring Boot 下的Swagger 3.0 与 Swagger 2.0 的详细对比

先说结论: Swgger 3.0 与Swagger 2.0 区别很大,Swagger3.0用了最新的注释实现更强大的功能,同时使得代码更优雅。 就个人而言,如果新项目推荐使用Swgger 3.0,对于工具而言新的一定比旧的好;对接于旧项目原…

【算法】图解两个链表相交的一系列问题

问: 给定两个可能有环也可能无环的单链表,头节点head1和head2。请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null。如果两个链表长度之和为N,时间复杂度请达到O(N…

2025开年解读:AI面试 VS 传统面试本质上区别有哪些?

2024年,AI面试以其高效、便捷的特点逐渐走入大众视野,成为越来越多企业的首选。2025年开年,AI面试再次出现爆发式增长趋势,那么,相较于传统的面对面面试,AI面试究竟有哪些本质上的区别呢?这不仅…

springboot web基础分层解耦三层架构IOC详解 DI详解 依赖注入

三层架构 分层解耦 解除了耦合 IOC DI入门 IOC详解 组件扫描 DI详解 一般用第一种,规范性高用第二种 第三种一般不用 注意事项

HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (五、电影详情页的设计实现)

在上一篇文章中,完成了电影列表页的开发。接下来,将进入电影详情页的设计实现阶段。这个页面将展示电影的详细信息,包括电影海报、评分、简介以及相关影人等。将使用 HarmonyOS 提供的常用组件,并结合第三方库 nutpi/axios 来实现…

交叉编译avahi到aarch64平台

谢绝转载 一、背景 准备学习无中心网络组网,研究如何实现无中心网络IP分配 二、环境搭建过程 找到的有参考价值的网页: https://zhuanlan.zhihu.com/p/60892150322 gcc_7.5.sh #! /bin/shexport PATH/home/ws/chain_tools/gcc-linaro-7.5.0-2019.1…

springMVC实现文件上传

目录 一、创建项目 二、引入依赖 三、web.xml 四、编写上传文件的jsp页面 五、spring-mvc.xml 六、controller 七、运行 一、创建项目 二、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…

6.1 MySQL数字函数和条件函数

以前我们在课程中使用过一些mysql的内置函数&#xff0c;比如说四舍五入的round函数&#xff0c;做日期计算的data, datediff函数等等。那么本次课程咱们就来系统的学习一下mysql的这些内置函数&#xff0c;我们使用编程语言写程序的时候&#xff0c;通常会把某一项业务功能封装…

设计模式03:行为型设计模式之策略模式的使用情景及其基础Demo

1.策略模式 好处&#xff1a;动态切换算法或行为场景&#xff1a;实现同一功能用到不同的算法时和简单工厂对比&#xff1a;简单工厂是通过参数创建对象&#xff0c;调用同一个方法&#xff08;实现细节不同&#xff09;&#xff1b;策略模式是上下文切换对象&#xff0c;调用…

网安——CSS

一、CSS基础概念 CSS有两个重要的概念&#xff0c;分为样式和布局 CSS的样式分为两种&#xff0c;一种是文字的样式&#xff0c;一种是盒模型的样式 CSS的另一个重要的特质就是辅助页面布局&#xff0c;完成HTML不能完成的功能&#xff0c;比如并排显示或精确定位显示 从HT…

Pytorch基础教程:从零实现手写数字分类

文章目录 1.Pytorch简介2.理解tensor2.1 一维矩阵2.2 二维矩阵2.3 三维矩阵 3.创建tensor3.1 你可以直接从一个Python列表或NumPy数组创建一个tensor&#xff1a;3.2 创建特定形状的tensor3.3 创建三维tensor3.4 使用随机数填充tensor3.5 指定tensor的数据类型 4.tensor基本运算…

git操作(bitbucket仓库)

在代码远程版本控制和提交过程中需要经常使用git命令&#xff0c;熟练使用git是一个软件工程师必备的技能之一。 将主版本代码fork到自己的 bitbucket 子仓库中 克隆到本地 利用ssh链接进行克隆&#xff0c;将 fork 的子仓库克隆到本地。 git clone ssh://{$你fork的子bitbu…

【AIGC】SYNCAMMASTER:多视角多像机的视频生成

标题&#xff1a;SYNCAMMASTER: SYNCHRONIZING MULTI-CAMERA VIDEO GENERATION FROM DIVERSE VIEWPOINTS 主页&#xff1a;https://jianhongbai.github.io/SynCamMaster/ 代码&#xff1a;https://github.com/KwaiVGI/SynCamMaster 文章目录 摘要一、引言二、使用步骤2.1 TextT…