前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019NISC CTF 部分 WriteUp

2019NISC CTF 部分 WriteUp

作者头像
p4nda
发布2023-01-03 13:54:23
2330
发布2023-01-03 13:54:23
举报
文章被收录于专栏:技术猫屋

目录

0x00 Game

操作内容: 查看源码发现存在可疑 JS 文件:

1.png
1.png

读取发现:

image
image

构造 POST 请求,参数 score=15 时,即可读出数据

3.png
3.png

0x01 who are you?

观察源文件:

4.png
4.png

猜测存在XML 注入,经过测试发现的确存在 XML实体注入

5.png
5.png

因无法确定 flag 的路径,无法使用 file 直接读取,使用php://filter/read=convert.base64-encode/resource=的方法来读取 index.php的文件:

6.png
6.png

解密后:

7.png
7.png

0x02 签到题

域名解析查询发现

8.png
8.png

0x03 七代目

文件头伪装成了PNG,其实是GIF

9.png
9.png

共计66帧动画,百度搜索七代目相关gif,可以找到原文件,为65帧。对比发现第七帧是重复的

10.png
10.png

使用stegsolve即可得到答案。

11.png
11.png

0x04 亚萨西

12.png
12.png

破解出密码 loli,解压后得到图片文件, 使用winhex打开图片发现存在可疑的数据:

13.png
13.png

提取出来后:

14.png
14.png

brainfuck解密:

15.jpeg
15.jpeg
16.png
16.png

0x05 24word

17.png
17.png

根据最初的图片的提示,使用社会主义核心价值观解密:

18.jpeg
18.jpeg

得到图片:

19.jpeg
19.jpeg

扫描可得正确答案:

20.png
20.png

0x06 dp

已知N、dq,求分解问题,利用脚本如下:

代码语言:javascript
复制
import gmpy2
import libnum
e=65537
n=9637571466652899741848142654451413405801976834328667418509217149503238513830870985353918314633160277580591819016181785300521866901536670666234046521697590230079161867282389124998093526637796571100147052430445089605759722456767679930869250538932528092292071024877213105462554819256136145385237821098127348787416199401770954567019811050508888349297579329222552491826770225583983899834347983888473219771888063393354348613119521862989609112706536794212028369088219375364362615622092005578099889045473175051574207130932430162265994221914833343534531743589037146933738549770365029230545884239551015472122598634133661853901
dp=81339405704902517676022188908547543689627829453799865550091494842725439570571310071337729038516525539158092247771184675844795891671744082925462138427070614848951224652874430072917346702280925974595608822751382808802457160317381440319175601623719969138918927272712366710634393379149593082774688540571485214097
c=5971372776574706905158546698157178098706187597204981662036310534369575915776950962893790809274833462545672702278129839887482283641996814437707885716134279091994238891294614019371247451378504745748882207694219990495603397913371579808848136183106703158532870472345648247817132700604598385677497138485776569096958910782582696229046024695529762572289705021673895852985396416704278321332667281973074372362761992335826576550161390158761314769544548809326036026461123102509831887999493584436939086255411387879202594399181211724444617225689922628790388129032022982596393215038044861544602046137258904612792518629229736324827
for i in range(1,65538):
    if (dp*e-1)%i == 0:
        if n%(((dp*e-1)/i)+1)==0:
            p=((dp*e-1)/i)+1
            q=n/(((dp*e-1)/i)+1)
            phi = (p-1)*(q-1)
            d = gmpy2.invert(e,phi)%phi
            print libnum.n2s(pow(c,d,n))

0x07 sflat

题目虽然进行了控制流平坦化,但验证逻辑过于简单,脚本如下:

代码语言:javascript
复制
data="J2261C63-3I2I-EGE4-IBCC-IE41A5I5F4HB"
flag='flag{'
for i in data:
if i=='-':
flag += '-'
elif i >= '0'and i <= '9':
flag += chr(ord(i) + 48)
elif i>='A':
flag += chr(ord(i) - 17)
flag+='}'
print flag

0X08 src_leak

func1:

21.png
21.png

分析_func·1,转换为标准函数方便自动化计算,根据IfElse块拆成标准的if else,然后再根据func1把相应的代码转换为使用while的条件循环处理。

22.png
22.png

func2: func2较为简单,比较轻松把递归拆成while解决

image
image

func3: func3就更加简单了,轻松转换为标准函数

24.png
24.png

Func4:

25.png
25.png

Func4有些复杂,得先转换NEXTN和NEXTM。 然后再转换TEST函数,TEST函数有两个固定的返回值,这里需要注意。 然后再把func4的两个固定条件返回值协商,并且引用TEST函数即可完成。

26.png
26.png

主函数: 根据output提示,定义max数组 当func3(func2(j))等于1时,符合题目的条件,因此写了这个双循环,用来直接自动化生成x1到x5的5个符合条件的数字。

27.png
27.png

根据题目给的提示,循环计算func4等于1有多少个数字,然后总数就是x6了,于是写了下面的代码来计算。

28.png
28.png

最后就能得到flag了。

29.png
29.png

0x09 sm4

标准的sm4加密,直接使用c语言版本运行即可得到flag

30.png
30.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 0x00 Game
  • 0x01 who are you?
  • 0x02 签到题
  • 0x03 七代目
  • 0x04 亚萨西
  • 0x05 24word
  • 0x06 dp
  • 0x07 sflat
  • 0X08 src_leak
  • 0x09 sm4
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档