Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >unctf2020部分题解

unctf2020部分题解

原创
作者头像
ruochen
修改于 2021-11-20 08:13:04
修改于 2021-11-20 08:13:04
1.7K0
举报

#unctf2020部分题解

⭐unctf2020

⭐misc

1、baba_is_you

<img src="https://img-blog.csdnimg.cn/img\_convert/8547368f4537fbf56d66e58f9be38745.png" alt="">

题目告诉我们,了解png文件格式。

下载得到一张png格式的图片。

用010editor打开查看,发现最后含有一个B站网址

<pre><code>https://www.bilibili.com/video/BV1y44111737

</code></pre>

访问,查看评论区得到flag

flag:

代码语言:txt
AI代码解释
复制
unctf{let's\_study\_pwn}

2、阴阳人编码

<img src="https://img-blog.csdnimg.cn/img\_convert/582303b9263161738a2a3a1318115420.png" alt="">

下载得到一个pdf,里面文字全是 (阴阳怪气)。仔细查看,阴阳怪气也就分为三种:

就这. 不会吧! 就这¿

结合题目中给出的编码,很容易想到 Ook! 编码

于是,将 就这. 替换为 .

不会吧! 替换为

就这¿ 替换为

得到如下:

代码语言:txt
AI代码解释
复制
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook.Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook!

Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?

Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!

Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!Ook! Ook! Ook!

Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook.

Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!

Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook?

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook?

Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook!Ook! Ook!

Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook.

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.Ook. Ook.

Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook!Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook.

Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook.

Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook.

Ook?Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook.

Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook.

Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook.

Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook?

Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook.

Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook.

Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.Ook.

Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook.Ook?

Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?

Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook.

Ook? Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook.

Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook!

Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook.

Ook?

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook! Ook. Ook? Ook.

将他复制到揭秘网址进行解密 :

https://www.splitbrain.org/services/ook

得到

<img src="https://img-blog.csdnimg.cn/img\_convert/cc72754548ef40ddf93b571d845268bb.png" alt="">

代码语言:txt
AI代码解释
复制
flag{9\_zhe\_Jiu\_zhe\_8\_hui\_8}

3、 爷的历险记

<img src="https://img-blog.csdnimg.cn/img\_convert/11ae250413b443e38cbe33bcb48cb24c.png" alt="">

这个附件有点大啊,下载得到一个游戏,(杀死耗子得经验做任务的“窒息”游戏)

解压一看

<img src="https://img-blog.csdnimg.cn/img\_convert/c2c51a77305746d79d6bb42cb64a702c.png" alt="">

发现 www 的文件夹,直接点进去看,(众所周知,主要的资源全在这个文件夹里头)

<img src="https://img-blog.csdnimg.cn/img\_convert/20d0585bdd85bfc6746e5814d809f948.png" alt="">

index.html 根网页,点进去 出一个error 很真实,环境没搭建怎么出东西

<img src="https://img-blog.csdnimg.cn/img\_convert/dce454ec72add5afa773c11cf3f365f8.png" alt="">

但这里提示我们 这个 data文件夹很重要

点击进入,发现一堆json文件,一开始 一系列的map00x.json 引人注意,点进去查看,好像是每一关的任务,但是flag均没有出现。后来,终于在 Items.json 这个文件里面找到 flag 包括之前的fake flag也在里面。

<img src="https://img-blog.csdnimg.cn/img\_convert/fb61f57c952293ec06e89e89d5a7ce53.png" alt="">

代码语言:txt
AI代码解释
复制
UNCTF{WelC0me\_70\_UNCTF2oZ0~}

4、YLB’s CAPTCHA - 签到题

<img src="https://img-blog.csdnimg.cn/img\_convert/f148efa72357b29e1a92d8b3c4bff632.png" alt="">

进入一个网页,ctrl+u查看网页源码

代码语言:txt
AI代码解释
复制
&lt;body&gt;

    &lt;div class="quote" id="neat"&gt;总决赛  彳亍  YLB  验证码  服务器宕机  CISCN  知乎  RNM,退钱  有码无🐴  宕机的平台  2020  WIFI  出题  AWD  业界毒瘤  洋垃圾  阴间平台  CTF春晚  phpstudy  选手主办方一起AWD  靶机重置  Misc选手狂喜  国际大厂  断网  Oo0ilLlWwKkSsOoPpCcZz  平台特色  不想打可以不打  PATCH  烂  选手AD  易霖博  鼓掌  Python签到Pwn题  Docker下发机制  规则反复横跳  BuildBreakFix  OCR  平台被攻击  AP隔离  运维是新人  义务承办比赛  提高业界知名度  40道题目,就4题能用的  鼓励PY  野鸡比赛  只开MYSQL的WEB题  ylb倒闭了吗  买设备提分数  最重要的比赛,最垃圾的平台  交不上去的flag  YLBNB  狂欢的知乎  请不要再给ylb压力了  三个半小时的解题赛  临时改赛制  祝早日倒闭  易霖博牛逼  全场等待修平台 选手Attack主办方Defense  免费的快乐水&lt;/div&gt;

    &lt;form action="./index.php" method="post"&gt;

        &lt;img src="image\_captcha.php"  onclick="this.src='image\_captcha.php?'+new Date().getTime();"&gt;&lt;br/&gt;

        &lt;input type="text" name="captcha" placeholder="Entry the CAPTCHA" style="text-align: center;background-color: #53656f;"&gt;&lt;br/&gt;

        &lt;input type="submit" value="Submit" class="button"&gt;

    &lt;/form&gt;

&lt;script src="./title.js"&gt;&lt;/script&gt;

&lt;/body&gt;

注意到最下面还有一句:

代码语言:txt
AI代码解释
复制
&lt;p&gt;Get 10 points to get flag&lt;br&gt;Your point: &lt;/p&gt;

也就是说最直观的方法,就是读取验证码得到十分,获取flag。

于是,介于 验证码比较难认,将其图片保存,用stegesolve 换个通道进行查看。

【注意】大小写要区分!!!

【一步错全盘皆输】 得到

代码语言:txt
AI代码解释
复制
UNCTF{7ed2cc4f-184b-43ec-bc21-bc100dbdf9f6}

5、躲猫猫

<img src="https://img-blog.csdnimg.cn/img\_convert/89bb4c29602c78eeba615d614e464b11.png" alt="">

下载得到一个excel。 用010editor查看 504B0304 修改后缀名 zip 发现基本上都是 xml 文件。放在 idea中进行查看,

最后在 sharedDtrings.xml 发现怪异之处。

代码语言:txt
AI代码解释
复制
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;

&lt;sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="2" uniqueCount="2"&gt;&lt;si&gt;&lt;t&gt;dW5jdGYlN0I3MzgzYjY3ZGU5MTA2YTZmMTBmZGJlNGU4ZWJjNjRjZSU3RA==&lt;/t&gt;&lt;phoneticPr fontId="1" type="noConversion"/&gt;&lt;/si&gt;&lt;si&gt;&lt;t&gt;你居然把猫猫移开了,但是你也找不到flag&lt;/t&gt;&lt;phoneticPr fontId="1" type="noConversion"/&gt;&lt;/si&gt;&lt;/sst&gt;

注意到一串base64加密的字符串。

代码语言:txt
AI代码解释
复制
dW5jdGYlN0I3MzgzYjY3ZGU5MTA2YTZmMTBmZGJlNGU4ZWJjNjRjZSU3RA==

解密得到

flag

代码语言:txt
AI代码解释
复制
unctf{7383b67de9106a6f10fdbe4e8ebc64ce}

6、网络深处1

<img src="https://img-blog.csdnimg.cn/img\_convert/2903624ec93d2c3c655df1f48260131b.png" alt="">

下载附件,得到一段拨号音音频,一个txt情景步骤导入,和一个有密码的压缩包。

在txt里面有一串数字,估计是最终flag的来源之处。

代码语言:txt
AI代码解释
复制
636806841748368750477720528895492611039728818913495104112781919263174040060359776171712496606031373211949881779178924464798852002228370294736546700438210687486178492208471812570216381077341015321904079977773352308159585335376746026882907466893864815887274158732965185737372992697108862362061582646638841733361046086053127284900532658885220569350253383469047741742686730128763680253048883638446528421760929131783980278391556912893405214464624884824555647881352300550360161429758833657243131238478311219915449171358359616665570429230738621272988581871

txt中已经很清楚的告诉我们,必须要解开压缩包,才能搞清楚这串数字的含义。

而压缩包密码就是电话号码,也就是蕴含在波号音中。

靠人耳辨别是什么号码,(对我来说)简直白日做梦。

直接上工具 : dtmf2num.exe

附上下载地址

下载好后,对此执行命令:

代码语言:txt
AI代码解释
复制
dtmf2num.exe 拨号音.wav

直接出来了:

代码语言:txt
AI代码解释
复制
DTMF2NUM 0.1.1

by Luigi Auriemma

e-mail: aluigi@autistici.org

web:    aluigi.org



- open 拨号音.wav

  wave size      35200

  format tag     1

  channels:      1

  samples/sec:   8000

  avg/bytes/sec: 16000

  block align:   2

  bits:          16

  samples:       17600

  bias adjust:   -3

  volume peaks:  -29471 29471

  normalize:     3296



- MF numbers:    74



- DTMF numbers:  15975384265

得到 压缩包密码为: 15975384265 解压后,又得到一段音频和一个txt。

通过txt,我们知道,在音频中蕴含着一个极大的线索,用于破解那串数字。

audacity 音频文件打开 ,查看波形,没发现啥。

于是切到 频谱图,发现一个关键词 tupper

<img src="https://img-blog.csdnimg.cn/img\_convert/98fce41738d9eb214b210cf193fd4b68.png" alt="">

一开始还不知道是啥意思,于是直接百度 tupper 经过多番搜索,终于 找到了 Tupper自我指涉公式造图

于是 上脚本:(其实)那串神秘数字就是 k

代码语言:txt
AI代码解释
复制
"""

 Copyright (c) 2012, 2013 The PyPedia Project, http://www.pypedia.com

 &lt;br&gt;All rights reserved.



 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:



 # Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

 # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.



 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND

 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR

 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



 http://www.opensource.org/licenses/BSD-2-Clause

 """



\_\_pypdoc\_\_ = """

 Method: Tupper\_self\_referential\_formula

 Link: http://www.pypedia.com/index.php/Tupper\_self\_referential\_formula

 Retrieve date: Tue, 11 Mar 2014 03:15:49 +0200



 Plots the [http://en.wikipedia.org/wiki/Tupper's\_self-referential\_formula Tupper's\_self-referential\_formula]:

 : &lt;math&gt;{1\over 2} &lt; \left\lfloor \mathrm{mod}\left(\left\lfloor {y \over 17} \right\rfloor 2^{-17 \lfloor x \rfloor - \mathrm{mod}(\lfloor y\rfloor, 17)},2\right)\right\rfloor&lt;/math&gt;



 The plot is the very same formula that generates the plot. 



 [[Category:Validated]]

 [[Category:Algorithms]]

 [[Category:Math]]

 [[Category:Inequalities]]



 """





def Tupper\_self\_referential\_formula():

    k = 636806841748368750477720528895492611039728818913495104112781919263174040060359776171712496606031373211949881779178924464798852002228370294736546700438210687486178492208471812570216381077341015321904079977773352308159585335376746026882907466893864815887274158732965185737372992697108862362061582646638841733361046086053127284900532658885220569350253383469047741742686730128763680253048883638446528421760929131783980278391556912893405214464624884824555647881352300550360161429758833657243131238478311219915449171358359616665570429230738621272988581871

    # love yiran





    def f(x, y):

        d = ((-17 \* x) - (y % 17))

        e = reduce(lambda x, y: x \* y, [2 for x in range(-d)]) if d else 1

        f = ((y / 17) / e)

        g = f % 2

        return 0.5 &lt; g





    for y in range(k + 16, k - 1, -1):

        line = ""

        for x in range(0, 107):

            if f(x, y):

                line += "@"

            else:

                line += " "

        print(line)



# Method name =Tupper\_self\_referential\_formula()

if \_\_name\_\_ == '\_\_main\_\_':

    # print \_\_pypdoc\_\_



    returned = Tupper\_self\_referential\_formula()

    if returned:

        print(str(returned))

执行命令。

<img src="https://img-blog.csdnimg.cn/img\_convert/478f42de3c7eca30dfa2856309574954.png" alt="">

远处观看 效果更佳哦!!

<img src="https://img-blog.csdnimg.cn/img\_convert/8b26999f517e23186ca7319f4dc64a1e.png" alt="">

得到flag

代码语言:txt
AI代码解释
复制
flag{Y29pbA==}

7、被删除的flag

<img src="https://img-blog.csdnimg.cn/img\_convert/8a359dbca06a0feac29c6b1230f78485.png" alt="">

下载附件,得到一个 flag 文件。

未知格式,直接用010editor打开,ctrl+f 一搜 unctf , flag就出了。

代码语言:txt
AI代码解释
复制
unctf{congratulations!}

8、你能破解我的密码吗

<img src="https://img-blog.csdnimg.cn/img\_convert/8ff3e5fa5ec5364caddfc7cd38ace258.png" alt="">

附件下载得到一个 shadow 文件。

代码语言:txt
AI代码解释
复制
root:!:18556:0:99999:7:::

daemon:\*:18474:0:99999:7:::

bin:\*:18474:0:99999:7:::

sys:\*:18474:0:99999:7:::

sync:\*:18474:0:99999:7:::

games:\*:18474:0:99999:7:::

man:\*:18474:0:99999:7:::

lp:\*:18474:0:99999:7:::

mail:\*:18474:0:99999:7:::

news:\*:18474:0:99999:7:::

uucp:\*:18474:0:99999:7:::

proxy:\*:18474:0:99999:7:::

www-data:\*:18474:0:99999:7:::

backup:\*:18474:0:99999:7:::

list:\*:18474:0:99999:7:::

irc:\*:18474:0:99999:7:::

gnats:\*:18474:0:99999:7:::

nobody:\*:18474:0:99999:7:::

systemd-network:\*:18474:0:99999:7:::

systemd-resolve:\*:18474:0:99999:7:::

systemd-timesync:\*:18474:0:99999:7:::

messagebus:\*:18474:0:99999:7:::

syslog:\*:18474:0:99999:7:::

\_apt:\*:18474:0:99999:7:::

tss:\*:18474:0:99999:7:::

uuidd:\*:18474:0:99999:7:::

tcpdump:\*:18474:0:99999:7:::

avahi-autoipd:\*:18474:0:99999:7:::

usbmux:\*:18474:0:99999:7:::

rtkit:\*:18474:0:99999:7:::

dnsmasq:\*:18474:0:99999:7:::

cups-pk-helper:\*:18474:0:99999:7:::

speech-dispatcher:!:18474:0:99999:7:::

avahi:\*:18474:0:99999:7:::

kernoops:\*:18474:0:99999:7:::

saned:\*:18474:0:99999:7:::

nm-openvpn:\*:18474:0:99999:7:::

hplip:\*:18474:0:99999:7:::

whoopsie:\*:18474:0:99999:7:::

colord:\*:18474:0:99999:7:::

geoclue:\*:18474:0:99999:7:::

pulse:\*:18474:0:99999:7:::

gnome-initial-setup:\*:18474:0:99999:7:::

gdm:\*:18474:0:99999:7:::

guguguguji:$1$AH$xtjky.3kppbU27tR0SDJT.:18556:0:99999:7:::

systemd-coredump:!!:18556::::::

shadow文件 是linux系统中记载root密码的保密性文件,可以用 john 来破解。

下载地址: http://www.openwall.com/john/

解压后,进入 run 目录。并把 执行命令

代码语言:txt
AI代码解释
复制
john --show shadow

<img src="https://img-blog.csdnimg.cn/img\_convert/217c8ab3aa0d43ae262e672faed0335b.png" alt="">

得到 密码 123456

得到flag

代码语言:txt
AI代码解释
复制
unctf{e10adc3949ba59abbe56e057f20f883e}

9、mouse_click

<img src="https://img-blog.csdnimg.cn/img\_convert/9f8d7bf1d6fba312c3fe0a3f45471cea.png" alt="">

下载附件,拿到 mouse\_click.pcapng 很显然,USB流量分析。

<img src="https://img-blog.csdnimg.cn/img\_convert/111c7b9095ab1c774336f42558bbe51a.png" alt="">

USB协议鼠标数据部分在Leftover Capture Data域中,数据长度为四个字节

第一个字节代表按键:

如 0x00时,代表没有按键、0x01时,代表左键,0x02时,代表当前按键为右键。

第二个字节代表鼠标水平偏移量:

值为正时,代表鼠标水平右移多少像素,为负时,代表水平左移多少像素。

第三个字节与第二字节类似,代表垂直上下移动的偏移。

1、将mouse\_click.pcapng 中的 Leftover Capture Data域 数据导出
代码语言:txt
AI代码解释
复制
tshark -r mouse\_click.pcapng -T fields -e usb.capdata &gt; data.txt

tshark -r mouse\_click.pcapng -T fields -e usb.capdata | sed '/^\s\*$/d' &gt; data.txt #提取并去除空行

得到 如下图 data.txt 文件

<img src="https://img-blog.csdnimg.cn/img\_convert/ebf404c9143914c36fe8281baf19df14.png" alt="">

2、规范冒号格式

一般提取会有冒号 格式为 xx:xx:xx:xx

于是 运行脚本 maohao.py

代码语言:txt
AI代码解释
复制
f=open('data.txt','r')

fi=open('out.txt','w')

while 1:

    a=f.readline().strip()

    if a:

        if len(a)==8: # 鼠标流量的话len改为8,键盘为16

            out=''

            for i in range(0,len(a),2):

                if i+2 != len(a):

                    out+=a[i]+a[i+1]+":"

                else:

                    out+=a[i]+a[i+1]

            fi.write(out)

            fi.write('\n')

    else:

        break



fi.close()
代码语言:txt
AI代码解释
复制
python maohao.py
3、鼠标流量转换为坐标

再将所得到的鼠标流量转换为xy坐标,运行 脚本 mouse.py 如下

代码语言:txt
AI代码解释
复制
nums = []

keys = open('out.txt','r')

f = open('xy.txt','w')

posx = 0

posy = 0

for line in keys:

    if len(line) != 12 :

        continue

    x = int(line[3:5],16)

    y = int(line[6:8],16)

    if x &gt; 127 :

        x -= 256

    if y &gt; 127 :

        y -= 256

    posx += x

    posy += y

    btn\_flag = int(line[0:2],16)  # 1 for left , 2 for right , 0 for nothing

    if btn\_flag == 1 :

        f.write(str(posx))

        f.write(' ')

        f.write(str(posy))

        f.write('\n')



f.close()
代码语言:txt
AI代码解释
复制
python mouse.py

得到:

<img src="https://img-blog.csdnimg.cn/img\_convert/5816a41203089a328d5c2d4a5cf8078a.png" alt="">

4、gnuplot绘制图像

运行 gnuplot.exe 将图像绘制出来

代码语言:txt
AI代码解释
复制
gnuplot&gt; plot "xy.txt"

gnuplot&gt;

最后得到:

<img src="https://img-blog.csdnimg.cn/img\_convert/268319d24ba1d4753886f41f8675a65b.png" alt="">

很显然,图像反了。对其垂直翻转一下,flag就出了

<img src="https://img-blog.csdnimg.cn/img\_convert/f00f2d5ea64a4e63452b3e44bd0e7737.png" alt="">

代码语言:txt
AI代码解释
复制
unctf{U5BC@P}

10、撕坏的二维码

<img src="https://img-blog.csdnimg.cn/img\_convert/0523299abf404b5aa73c5a1194061f26.png" alt="">

下载得到一张二维码,只不过不全。

<img src="https://img-blog.csdnimg.cn/img\_convert/1ecabf05dd233dc257439b9edf3efc7f.png" alt="">

众所周知,一张二维码有三个定位符,补全右上角那个,即可出flag

<img src="https://img-blog.csdnimg.cn/img\_convert/6e1014d3bb36df13f491fdbfb0f12560.png" alt="">

且记,扫的时候,将二维码大小稍微调小一点。

代码语言:txt
AI代码解释
复制
unctf{QR@2yB0x}

11、倒影

<img src="https://img-blog.csdnimg.cn/img\_convert/24878f5ce6bf1dabd92e6502b484b1ee.png" alt="">

下载附件得到一个 倒影.exe 用010editor打开,发现 FF D8 FF E0 的文件头,显然这是一张 jpg。

往后拉,发现 最后有一串base64编码字符串。

代码语言:txt
AI代码解释
复制
MDAwMDAwMDAwMEI0MDAwMDAwQTUwMDEwMDAxMDAwMDAwMDAwNjA1MEI0MDUxMDZENkE5RUEyNEU1NzY3MTA2RDdBRDU4QUMyMjk0MDEwNkQ3QUQ1OEFDMjI5NDAwMDgxMDAxMDAwMDAwMDAwMDAwMjAwQTA0Nzg3NDdFMjc2MTZDNjY2MDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwNDIwMDgwMDAwMDAwOTEwMDAwMDA1Mjk3RDQ1MzVFMTU1NUU1QzkwMDAwODAxMDAwQTAwMEYzMjAxMEI0MDVCNEVDQzdFOTg4OUVERjFCQTMwQzZGRjcxODM2RUJDRkU5QTczNUVGRDZFNTAxQ0UxNDEwOTUwNTgyNzc2NEI2OURDMzdDNkUyRTQ3ODc0N0UyNzYxNkM2NjYwMDAwMDA4MDAwMDAwMDkxMDAwMDAwNTI5N0Q0NTM1RTE1NTVFNUM5MDAwMDgwMTAwMEEwNDAzMEI0MDU=

得到一串 十六进制字符串

代码语言:txt
AI代码解释
复制
0000000000B4000000A500100010000000006050B405106D6A9EA24E5767106D7AD58AC22940106D7AD58AC229400081001000000000000200A0478747E27616C666000000000000000200000000000000420080000000910000005297D4535E1555E5C90000801000A000F32010B405B4ECC7E9889EDF1BA30C6FF71836EBCFE9A735EFD6E501CE14109505827764B69DC37C6E2E478747E27616C66600000080000000910000005297D4535E1555E5C90000801000A04030B405

shift+v 复制进010editor。

<img src="https://img-blog.csdnimg.cn/img\_convert/3293798761c6b9efc694b2a6e0bbc40e.png" alt="">

注意: 40 30 B4 05 反一下 就是 50 4B 03 04 说明,要把得到的十六进制字符串倒序 ==》 倒影的真正含义。

附java脚本 :

代码语言:txt
AI代码解释
复制
public class Main {<!-- -->

    public static void main(String[] args) {<!-- -->

        Scanner in = new Scanner(System.in);

        String s = in.nextLine();

        String str[] = s.split("");

        for(int i=str.length-1;i&gt;=0;--i) {<!-- -->

            System.out.print(str[i]);

        }

    }

}

得到:

代码语言:txt
AI代码解释
复制
504B03040A00010800009C5E5551E5354D79250000001900000008000000666C61672E747874E2E6C73CD96B46772850590141EC105E6DFE537A9EFCBE63817FF6C03AB1FDE9889E7CCE4B504B01023F000A00010800009C5E5551E5354D792500000019000000080024000000000000002000000000000000666C61672E7478740A002000000000000100180004922CA85DA7D60104922CA85DA7D6017675E42AE9A6D601504B050600000000010001005A0000004B0000000000

修改后缀名 zip。 得到一个加密的压缩包。

但没有其他提示,直接暴力破解一下

<img src="https://img-blog.csdnimg.cn/img\_convert/b337099ea84a4b5888bc48a8d901f09a.png" alt="">

得到 密码: 658745

解压得到flag

代码语言:txt
AI代码解释
复制
UNCTF{Th13\_Is\_@\_F1@G}

12、EZ_IMAGE

<img src="https://img-blog.csdnimg.cn/img\_convert/f6dc55f5d3b28318a9668571bb7ccef7.png" alt="">

下载得到 225张杂乱无章的jpg图。解法很简单,就是将这图拼起来即可。

1、 montage 命令

使用该命令,实现多张图合并成为一张图。

(kali Linux)安装命令:

<pre><code class="prism language-cmd">apt-get install graphicsmagick-imagemagick-compat

</code></pre>

进入解压后的文件夹目录下,执行命令

代码语言:txt
AI代码解释
复制
montage \*.jpg -tile 15x15 -geometry +0+0 1.jpg

得到:

<img src="https://img-blog.csdnimg.cn/img\_convert/1e32f2050afc07272161e3f4ace7d9b4.png" alt="">

2、 gaps命令自动拼图
代码语言:txt
AI代码解释
复制
git clone https://github.com/nemanja-m/gaps.git

cd gaps

先用 pip3安装好以下库:

代码语言:txt
AI代码解释
复制
pip3 install numpy

pip3 install opencv-python

pip3 install matplotlib

pip3 install pytest

pip3 install pillow

安装完成后,打开 requirements.txt 修改里面库对应的版本。

<img src="https://img-blog.csdnimg.cn/img\_convert/24594608dde0924b397be9f8542359e8.png" alt="">

此为版本号 , 比如我是:

代码语言:txt
AI代码解释
复制
numpy==1.18.4

opencv-python==4.4.0.46

matplotlib==3.2.2

pytest==4.6.11

pillow==6.2.1

再执行以下命令。

代码语言:txt
AI代码解释
复制
pip3 install -r requirements.txt

sudo apt-get install python-tk

pip3 install -e .

安装完成后,将之前合成的1.jpg 拖到 gaps-master 该目录下, 执行以下命令:

代码语言:txt
AI代码解释
复制
gaps --image=1.jpg --population=500 --size=60 --save

<img src="https://img-blog.csdnimg.cn/img\_convert/a1d2e54cb3096ba92069e3e01b8db999.png" alt="">

【注意】一定要控制 pieces等于图的总张数

最后得到

<img src="https://img-blog.csdnimg.cn/img\_convert/09d0e252ab031f20f2a5de91b345eeec.png" alt="">

flag即为:

代码语言:txt
AI代码解释
复制
UNCTF{EZ\_MISC\_AND\_HACK\_FUN}

⭐Crypto

1、easy_rsa

<img src="https://img-blog.csdnimg.cn/img\_convert/bc91cf5a4a10c3e83574b777cd534a7e.png" alt="">

下载得到 rsa 加密脚本,比较简单:

代码语言:txt
AI代码解释
复制
from Crypto.Util import numbe

import gmpy2

from Crypto.Util.number import bytes\_to\_long



p = number.getPrime(1024)

q = number.getPrime(1024)

if p &gt; q:

    a = p + q

    b = p - q

    print(a,b)



n = p \* q

e = 65537

phi = (p-1)\*(q-1)

d = gmpy2.invert(e,phi)

m = bytes\_to\_long(b'msg')

c = pow(m,e,n)

print(c)



#320398687477638913975700270017132483556404036982302018853617987417039612400517057680951629863477438570118640104253432645524830693378758322853028869260935243017328300431595830632269573784699659244044435107219440036761727692796855905230231825712343296737928172132556195116760954509270255049816362648350162111168

#9554090001619033187321857749048244231377711861081522054479773151962371959336936136696051589639469653074758469644089407114039221055688732553830385923962675507737607608026140516898146670548916033772462331195442816239006651495200436855982426532874304542570230333184081122225359441162386921519665128773491795370

#22886015855857570934458119207589468036427819233100165358753348672429768179802313173980683835839060302192974676103009829680448391991795003347995943925826913190907148491842575401236879172753322166199945839038316446615621136778270903537132526524507377773094660056144412196579940619996180527179824934152320202452981537526759225006396924528945160807152512753988038894126566572241510883486584129614281936540861801302684550521904620303946721322791533756703992307396221043157633995229923356308284045440648542300161500649145193884889980827640680145641832152753769606803521928095124230843021310132841509181297101645567863161780

很容易得到 p q 且已知 n e 直接上脚本 跑即可:

代码语言:txt
AI代码解释
复制
import libnum

from Crypto.Util.number import long\_to\_bytes



a = 320398687477638913975700270017132483556404036982302018853617987417039612400517057680951629863477438570118640104253432645524830693378758322853028869260935243017328300431595830632269573784699659244044435107219440036761727692796855905230231825712343296737928172132556195116760954509270255049816362648350162111168

b = 9554090001619033187321857749048244231377711861081522054479773151962371959336936136696051589639469653074758469644089407114039221055688732553830385923962675507737607608026140516898146670548916033772462331195442816239006651495200436855982426532874304542570230333184081122225359441162386921519665128773491795370

c = 22886015855857570934458119207589468036427819233100165358753348672429768179802313173980683835839060302192974676103009829680448391991795003347995943925826913190907148491842575401236879172753322166199945839038316446615621136778270903537132526524507377773094660056144412196579940619996180527179824934152320202452981537526759225006396924528945160807152512753988038894126566572241510883486584129614281936540861801302684550521904620303946721322791533756703992307396221043157633995229923356308284045440648542300161500649145193884889980827640680145641832152753769606803521928095124230843021310132841509181297101645567863161780

# a = p + q

# b = p - q

p = (a+b) // 2

q = (a-b) // 2

n = q \* p

e = 65537



d = libnum.invmod(e, (p - 1) \* (q - 1))

m = pow(c, d, n)  # m 的十进制形式

string = long\_to\_bytes(m)  # m明文

print(string)  # 结果为 b‘ m ’ 的形式



#print(libnum.n2s(m))  #(n2s将数值转化为字符串)

得到

代码语言:txt
AI代码解释
复制
b'UNCTF{welcome\_to\_rsa}'

2、简单的RSA

<img src="https://img-blog.csdnimg.cn/img\_convert/8047f0e373790efd79ec493d7a4e497d.png" alt="">

下载得到一个txt

代码语言:txt
AI代码解释
复制
e= 18437613570247445737704630776150775735509244525633303532921813122997549954741828855898842356900537746647414676272022397989161180996467240795661928117273837666615415153571959258847829528131519423486261757569454011940318849589730152031528323576997801788206457548531802663834418381061551227544937412734776581781

n= 147282573611984580384965727976839351356009465616053475428039851794553880833177877211323318130843267847303264730088424552657129314295117614222630326581943132950689147833674506592824134135054877394753008169629583742916853056999371985307138775298080986801742942833212727949277517691311315098722536282119888605701

c= 140896698267670480175739817539898638657099087197096836734243016824204113452987617610944986742919793506024892638851339015015706164412994514598564989374037762836439262224649359411190187875207060663509777017529293145434535056275850555331099130633232844054767057175076598741233988533181035871238444008366306956934

显然,这e 非常大。马上想到是 rsa wiener-attack 。于是 修改脚本如下:

代码语言:txt
AI代码解释
复制
import  RSAwienerHacke

e= 18437613570247445737704630776150775735509244525633303532921813122997549954741828855898842356900537746647414676272022397989161180996467240795661928117273837666615415153571959258847829528131519423486261757569454011940318849589730152031528323576997801788206457548531802663834418381061551227544937412734776581781

n= 147282573611984580384965727976839351356009465616053475428039851794553880833177877211323318130843267847303264730088424552657129314295117614222630326581943132950689147833674506592824134135054877394753008169629583742916853056999371985307138775298080986801742942833212727949277517691311315098722536282119888605701

d =  RSAwienerHacker.hack\_RSA(e,n)

if d:

    print(d)

<img src="https://img-blog.csdnimg.cn/img\_convert/39e87d363e494a68ccbb8ecff303688f.png" alt="">

得到 d :

代码语言:txt
AI代码解释
复制
74651354506339782898861455541319178061583554604980363549301373281141419821253

有 c、e、d、n 接下来,有手就行,直接上脚本!

代码语言:txt
AI代码解释
复制
from Crypto.Util.number import long\_to\_bytes



e= 18437613570247445737704630776150775735509244525633303532921813122997549954741828855898842356900537746647414676272022397989161180996467240795661928117273837666615415153571959258847829528131519423486261757569454011940318849589730152031528323576997801788206457548531802663834418381061551227544937412734776581781

n= 147282573611984580384965727976839351356009465616053475428039851794553880833177877211323318130843267847303264730088424552657129314295117614222630326581943132950689147833674506592824134135054877394753008169629583742916853056999371985307138775298080986801742942833212727949277517691311315098722536282119888605701

c= 140896698267670480175739817539898638657099087197096836734243016824204113452987617610944986742919793506024892638851339015015706164412994514598564989374037762836439262224649359411190187875207060663509777017529293145434535056275850555331099130633232844054767057175076598741233988533181035871238444008366306956934



d = 74651354506339782898861455541319178061583554604980363549301373281141419821253

m = pow(c, d, n)  # m 的十进制形式

string = long\_to\_bytes(m)  # m明文

print(string)  # 结果为 b‘ m ’ 的形式

得到flag:

代码语言:txt
AI代码解释
复制
b'unctf{wi3n3r\_Att@ck}'

3、鞍山大法官开庭之缺的营养这一块怎么补

<img src="https://img-blog.csdnimg.cn/img\_convert/3cbf51bf453939649c80f3dc075b086a.png" alt="">

显然题干给出的是一种未知编码的字符串

代码语言:txt
AI代码解释
复制
ottttootoootooooottoootooottotootttootooottotttooootttototoottooootoooottotoottottooooooooottotootto

先来看一下,里面就涉及两种字母,很容易让人想到 二进制 ,尝试转字符串,失败。

还有一种编码,培根密码,也是涉及2个字符。尝试

先将 o 替换为A , t替换为B。

代码语言:txt
AI代码解释
复制
ABBBBAABAAABAAAAABBAAABAAABBABAABBBAABAAABBABBBAAAABBBABABAABBAAAABAAAABBABAABBABBAAAAAAAAABBABAABBA

<img src="https://img-blog.csdnimg.cn/img\_convert/6e0074a73d8a8974d3f9203e05272a3d.png" alt="">

得到flag

代码语言:txt
AI代码解释
复制
unctf{PEIGENHENYOUYINGYANG}

⭐Reverse

1、re_checkin

<img src="https://img-blog.csdnimg.cn/img\_convert/95f1aa8869a78140b31cd9552a782918.png" alt="">

先考虑有没有壳。用PEID一查 无。 安心拖入 IDA

先 shift+f12 查看字符串。

发现 success 敏感词,进行追踪,来到函数sub_401550() 按F5

<pre><code class="prism language-c">\_\_int64 sub\_401550()

{<!-- -->

char Str1; // sp+20h@1

sub_40B300();

puts("Welcome!Please Input:");

sub_419C00("%1000s", &Str1);

if ( !strcmp(&Str1, &Str2) )

puts("success!");

else

puts("fail!");

system("pause");

return 0i64;

}

</code></pre>

很快发现, strcmp 是 Str1与Str2 对比 ,因为Str1输入,于是追踪Str2

<img src="https://img-blog.csdnimg.cn/img\_convert/0cbb5b8f6c692b9a9d1e692c54656e2f.png" alt="">

发现 在 sub_4015DC 函数,进行查看

<pre><code class="prism language-c">void sub\_4015DC()

{<!-- -->

Str2 = 117;

byte_42F041 = 110;

byte_42F042 = 99;

byte_42F043 = 116;

byte_42F044 = 102;

byte_42F045 = 123;

byte_42F046 = 87;

byte_42F047 = 101;

byte_42F048 = 108;

byte_42F049 = 99;

byte_42F04A = 111;

byte_42F04B = 109;

byte_42F04C = 101;

byte_42F04D = 84;

byte_42F04E = 111;

byte_42F04F = 85;

byte_42F050 = 78;

byte_42F051 = 67;

byte_42F052 = 84;

byte_42F053 = 70;

byte_42F054 = 125;

byte_42F055 = 0;

}

</code></pre>

很显然 ASCII码 转换得到 :

得到

代码语言:txt
AI代码解释
复制
unctf{WelcomeToUNCTF} 

2、babypy

<img src="https://img-blog.csdnimg.cn/img\_convert/2baf343304ef832b9288f6b4d360f45f.png" alt="">

得到了一个 .exe 和一个txt

txt如下:

代码语言:txt
AI代码解释
复制
313131303130313031313031313130303131303030313130313131303130303031313030313130303131313130313130313031303130303031313031303030303130303030303030313131303130303031303131313131303131303130303130313131303031313031303131313131303131313030313030313130303130313031313030303031303031313030303130303131303030313031313131303031303130313131313130313130303031313030313130303030303031313030303030303131303030313031313131313031

首先对 babypy.exe 进行壳检查,发现 无壳。

这个时候,我们需要对exe进行反编译为python源码。

利用 pyinstxtractor.py 来进行反编译。

执行命令:

代码语言:txt
AI代码解释
复制
python pyinstxtractor.py babypy.exe

<img src="https://img-blog.csdnimg.cn/img\_convert/e5d0aa978ab64a1840185c737a512680.png" alt="">

注意到 babypy 重点源文件,但是由于反编译不是十全十美的,他丧失了文件头,因此没有后缀 .pyc 于是,打开一个本身的pyc,查看文件头

42 0D 0D 0A 00 00 00 00

于是给他补上:

代码语言:txt
AI代码解释
复制
42 0D 0D 0A 00 00 00 00 70 79 69 30 10 01 00 00

<img src="https://img-blog.csdnimg.cn/img\_convert/5d7f7f7c8427ba81fa4bafbb0f6bb6a3.png" alt="">

并修改后缀名 .pyc 再进行反编译 生成py文件

代码语言:txt
AI代码解释
复制
#!/usr/bin/env python

# visit http://tool.lu/pyc/ for more information

import os

import libnum

import binascii

flag = 'unctf{\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*}'

# WARNING: Decompyle incomplete

看到这里,跟自己之前想的很有出入,本来以为会出全部脚本,于是思路断了。

其实是忘记了,出题方给的重要讯息!那个 tip.txt

于是,解题脚本如下:

代码语言:txt
AI代码解释
复制
import libnum

m = 0x313131303130313031313031313130303131303030313130313131303130303031313030313130303131313130313130313031303130303031313031303030303130303030303030313131303130303031303131313131303131303130303130313131303031313031303131313131303131313030313030313130303130313031313030303031303031313030303130303131303030313031313131303031303130313131313130313130303031313030313130303030303031313030303030303131303030313031313131313031



str = libnum.n2s(m)

print(libnum.b2s(str))

跑出 flag:

代码语言:txt
AI代码解释
复制
unctf{Th@t\_is\_rea11y\_c001}

3、反编译

<img src="https://img-blog.csdnimg.cn/img\_convert/8f26db91128fcb1065a8fe24d43acf83.png" alt="">

下载得到一个 run.exe 加之题目“反编译” ,与上题一样的思路。

利用 pyinstxtractor.py 来进行反编译。

执行命令:

代码语言:txt
AI代码解释
复制
python pyinstxtractor.py run.exe

给run补上,并修改后缀名

代码语言:txt
AI代码解释
复制
42 0D 0D 0A 00 00 00 00 70 79 69 30 10 01 00 00

再进行反编译 生成py文件

得到:

代码语言:txt
AI代码解释
复制
#!/usr/bin/env python

# visit http://tool.lu/pyc/ for more information

str2 = 'UMAQBvogWLDTWgX"""k'

flag = ''

for i in range(len(str2)):

    flag += chr(ord(str2[i]) + i)



print(flag)

直接跑出flag

代码语言:txt
AI代码解释
复制
UNCTF{un\_UN\_ctf123}

⭐pwn

1、YLBNB

<img src="https://img-blog.csdnimg.cn/img\_convert/01d69c70c0714dd5ff5c31c40927fd51.png" alt="">

直接nc一把

代码语言:txt
AI代码解释
复制
nc 45.158.33.12 8000

<img src="https://img-blog.csdnimg.cn/img\_convert/5b8053d561dd15ca6629c522ffe87d08.png" alt="">

于是直接上 exp (最简单的那种)

代码语言:txt
AI代码解释
复制
from pwn import \*



p = remote('45.158.33.12', 8000)

payload = ''

p.sendline(payload)



p.interactive()

<img src="https://img-blog.csdnimg.cn/img\_convert/ce2994f36a2e6674c8235cfba5b00ac5.png" alt="">

得到flag

代码语言:txt
AI代码解释
复制
UNCTF{Gu@rd\_Th3\_Bes7\_YLB}

下次一定!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用高防后,服务器还是会受到攻击这是为什么?
近期听墨者安全的客服人员说有些受了DDOS攻击的用户反映,曾使用了某些公司的高防产品,服务器还是会受到攻击,说DDOS攻击防御防不住,为此对DDOS攻击防御产生了质疑。下面咱就分析下接入高防后,服务器还是会受到攻击这是为什么?
墨者安全筱娜
2019/04/12
1.3K0
使用高防后,服务器还是会受到攻击这是为什么?
什么是高防IP?
高防IP是针对互联网服务器在遭受大流量的DDOS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。(无需转移数据,理论上任何主机都可以使用高防IP来防护DDOS攻击。)
德迅云安全--陈琦琦
2023/11/12
5570
腾讯云服务器 BGP 高防 IP接入非网站业务如何操作?
本文介绍了非网站类业务用户如何将业务接入 BGP 高防 IP 实例并验证转发配置。
用户5915092
2019/09/06
6.6K0
腾讯云服务器 BGP 高防 IP接入非网站业务如何操作?
高防部署后,源IP还是暴露了,如何排查与解决?
在网络安全防护中,高防服务是抵御DDoS攻击、保护服务器安全的重要手段。然而,有时即便部署了高防服务,源IP仍可能暴露,这不仅影响业务稳定性,还可能引发更严重的安全风险。
群联云安全小杜
2024/06/04
3960
高防部署后,源IP还是暴露了,如何排查与解决?
高防IP是什么?如何隐藏源站IP?如何进行防护?
高防IP是针对互联网服务器遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务。用户在数据不转移的情况下,就可以通过配置高防IP , 将攻击流量引流到高防|P,确保源站的稳定可靠。高防IP采用的技术手段包括DDoS防护、WAF ( Web应用程序防火墙)等,它能够有效抵御来自互联网的各种攻击,例如: DDoS攻击、CC攻击、 SYNFlood攻击等。
德迅服务器抗D盾
2023/11/15
6330
高防IP是什么?如何隐藏源站IP?如何进行防护?
大禹高防最佳部署实践
大禹高防产品由于其功能特点,一般都是置于业务入口处,业务对高防产品的接入质量较为敏感.同时因为客户业务的多样性,在各个场景下大禹产品的最佳接入方案也成为部署架构中的重要一环,该文章将对常见业务部署架构下高防产品接入的最佳实践做个说明.
安轲
2020/11/12
1.8K0
腾讯云BGP高防IP优惠--什么是 腾讯云BGP 高防 IP ?
BGP 高防 IP 是腾讯云面向所有用户推出的抗 DDoS 攻击的付费产品,支持任意源站位置,最高可达 900 Gbps 的 BGP 线路防护,能轻松有效应对 DDoS 、CC 攻击,确保业务稳定正常。
用户4465285
2019/07/24
19.6K0
腾讯云BGP高防IP优惠--什么是 腾讯云BGP 高防 IP ?
网站业务使用高防CDN的好处是什么?
随着互联网的发展,网站业务在今天的数字化时代扮演着至关重要的角色。然而,随之而来的是各种网络安全威胁和攻击的增加,这给网站的稳定性和可靠性带来了挑战。为了应对这些威胁,高防CDN(Content Delivery Network)应运而生,并成为网站业务的重要保障业务之一。今天我们就来着重讲解一下高防CDN在网站业务中能够起到什么作用。
德迅服务器抗D盾
2023/11/14
3490
网站业务使用高防CDN的好处是什么?
遭遇DDoS攻击怎么防?
导语| 最近几个月处理过多起DDoS攻击案例,从实际案例中总结了一些防护经验希望可以帮助到需要的同仁。本文主要分享DDoS攻击原理、以及实际攻击过程以及如何选择DDoS防护方案。
binwenli
2020/10/11
14.7K4
遭遇DDoS攻击怎么防?
高防IP与CDN该如何选择
高防IP都是一个IP防护,并且是单IP独享,而CDN都是共享IP。而CDN是一组IP防护,而且都是共享IP。
用户9973510
2022/10/31
3.6K0
究竟何种防御DDoS方式才能解决遭受攻击的网站之忧呢?
只要做过网站的人应该都知道,DDoS攻击是非常可怕的,因为想要完全防御DDoS攻击是不可能的,或者说DDoS攻击只能被缓解,不能被完全消除。DDoS是分布式拒绝服务(DDoSDitributed Denial of evice)的缩写,指的是攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
blublu7080
2021/02/19
6500
究竟何种防御DDoS方式才能解决遭受攻击的网站之忧呢?
案例研究:绕过CDN/云平台被直击源IP
伴随着众多企业网络安全意识的提高,数字业务上云趋势所向,CDN 与安全厂商为企业构筑起了一面 " 安全之盾 ",将源 IP 隐藏于盾牌之后,代替企业直面黑灰产攻击者,极大地增加了 DDoS 攻击的成本。例如,腾讯云产品“SCDN”与“大禹DDOS防护”等优秀产品都保障了我们的业务正常运行。因此,部分攻击者开始尝试绕过 CDN 与云平台,直接针对源 IP 发起 DDoS 攻击。
Yangsh888
2022/03/08
1.1K0
云高防ip服务器的优势特点有哪些?
DDoS高防IP是针对互联网服务器在遭受大流量DDoS攻击后导致服务不可用的情况下,推出的付费服务,用户可通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。下面天下数据小编为大家解析云高防ip服务器的优势特点。
习惯说一说
2019/08/05
20.3K1
高防服务器-腾讯云高防IP服务器
高防服务器实际上应该称为高防IP。因为起防护作用的是高防IP,无论你的业务是否在腾讯云,都可以使用腾讯云的高防IP
用户3570397
2019/08/06
23.8K0
严谨的防御DDoS思路帮助你实现有效快速、高准确性的应对DDoS
现在各省DDoS清洗设备涉及厂家众多、差异性大,且暂无统一的集中管控平台实现实现DDoS攻击的全网协同处置。因此,建设全网集中统一的防御DDoS安全体系已成为网络安全领域的紧迫需求和目标。
blublu7080
2021/04/20
7060
严谨的防御DDoS思路帮助你实现有效快速、高准确性的应对DDoS
网络安全防护DDoS有何秘诀?一看便知
大家应该都对DDoS攻击不陌生,现如今网络攻击频繁,如何有效防护DDoS想必是很多人都重点关注的问题。高防IP是比较常见的防御产品,在不想置换服务器的前提下,很多人都会选择使用高防IP来抵御网络攻击。
blublu7080
2020/12/28
1.2K0
网络安全防护DDoS有何秘诀?一看便知
什么是BGP高防?
大家都知道BGP高防是DDOS流量攻击的首选防御之一,那么BGP高防到底是什么?有什么优势呢?今天小墨给大家讲一下。 
墨者安全科技
2019/12/25
3.3K0
什么是BGP高防?
高防cdn的构建简单吗?高防cdn有什么优势?
高防cdn的构建简单吗?高防cdn有什么优势?经常有人在网上咨询这样的问题,需要服务器请到TG@Daisy9677/@Vicky105805找我,很多人对于高防CDN的概念不是很理解,在具体搭建的过程中会出现一些问题,下面小编就来给大家介绍下高防CDN。
用户9305758
2021/12/29
4.6K0
高防CDN与高防服务器有什么区别?
高防CDN与高防服务器是抵御DDoS攻击的两种主流防御,那么两者有什么区别呢?首先咱们来了解一下:到底什么是高防CDN与高防服务器? 
墨者安全科技
2019/12/24
11K0
高防CDN与高防服务器有什么区别?
高防IP是什么?有什么优势?
高防IP是指高防机房所提供的IP段,一种付费增值服务,主要是针对网络中的DDoS攻击进行保护。用户可以通过配置高防IP,把域名解析到高防IP上,引流攻击流量,确保源站的稳定可靠。
德迅服务器抗D盾
2023/11/11
3950
高防IP是什么?有什么优势?
相关推荐
使用高防后,服务器还是会受到攻击这是为什么?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档