×

HDCTF-2nd复盘

访客 访客 发表于2021-09-29 00:51:29 浏览284 评论5

5人参与发表评论

文中先发于“合天网安试验室”创作者: 淡灬看夏丶恋雨

海南大学校园内赛。十一国庆打的,以前没空重现。学校外人水了个纪念物。谢谢Gamous舍不得不吝指教。打动的痛哭。赛事的总结。有一些没做出去的阔以看官方网wp。题附及官方网wp已装包:

蓝奏:

https://wws.lanzous.com/i7HmLhmw18f

百度云盘:连接:

https://pan.baidu.com/s/1米KWDG-bftD-kPAeZwEUvGw

提取码:bcxv

1、WEB

signin:

打开网站,源码,base64编解码

babysql(ACTF题):

这题,一开始认为是纯引入,一个一个试'load_file','information_schema'。还过虑了挺多物品的,之后就立即绕过引入,立即select就可以。看提醒(画线划去的)也是

查过字段名是三个以后,立即查看flag就可以。

1' union select 1,2,flag from flag#

babyrce(ACTF题):

这题也没啥限定,便是非常简单的rce,https://www.freebuf.com/articles/ 就回到上级领导文件目录,flag便是flag文件。

easygit(ACTF题):

git泄漏,github上找一个专用工具,下了源码立即cat flag就好了

backup_file(ACTF题):

index.php.bak,备份数据,依据源码绕过就好了,结构?key=123就可以

考试点应该是php弱种类

参照他人小结的:

https://www.cnblogs.com/Mrsm1th/p/6745532.html

intval涵数立即将值转化成数据,即数据跟字符串比较。

传key=123就可以绕过限定。

easy_file_include(ACTF题):

伪协议书立即包括

http://8.129.15.153:20005/?file=php://filter/read=convert.base64-encode/resource=flag.php

点一下网页页面的tips,文件包含php伪协议书立即试着就可以

do_u_know_HTTP:

提交get主要参数Hainan_University,随后在post提交HnuSec就可以。在依据最终一条,burpsuite抓包软件再加上http头,没啥难的,就按要求提交各种主要参数就好了。便是post的情况下我bp一直不行,用hackbar才能够

erciyuan

看源码,立即跟到最终。先第一步绕过正则表达式就可以,^标记取反。就把除开二十六个英文大小写和数据的别的换成空,第二个过虑则把HnuSec换成!观查前边的hint我们要浏览到!HDCTF!.php文件。就结构HnuSecHDCTFHnuSec.php的编号就可以绕过

hash_hmac:

观查源码,立即绕过就可以。post传x[]=QNKCDZO&y[]=aabg7XSs。给了个 fllllllllllllag.php,浏览cat flag

md5弱种类,立即绕过吧

welcome:

猜想弱口令,admin/123456,密码错误左上方弹出来登陆密码。键入 cat flag

calculator_v1

flask的一题,免费下载给的python文档,没做一切过虑。立即cat flag就可以

ezflask

给了个参照连接,模版引入。还全都没过虑。就立即套了wp里的payload。

https://www.k0rz3n.com/2018/11/12/一篇文章陪你了解系统漏洞之SSTI系统漏洞/{{config.__class__.__init__.__globals__['os'].popen('cat https://www.freebuf.com/articles/network/flag').read()}}

warmup

getshell

getshell。看过虑。过虑分号和等于号,然后用.来联接前后左右。

立即把联接前边的合闭掉,在使用 //注解符把后边注解掉

立即合闭后边也是能够 cat flag的,看源码就取得flag了

dudaima

get给pass传个值,随后反序列化他。就达到if里的标准就可以

就可自身检测了。引入取值和传值取值参照:

https://blog.csdn.net/m15712884682/article/details/77350027

剩余的web题也不咋会了。也有几个flask和反序列化,能够 看一下官方网wp

2MISC

每日签到题:

立即输flag,每日签到就可以。

一步之遥:

伪数据加密

改为00开启

你了解lsb代表什么意思吗

就lsb底位隐写,存为7z就可以

之后储存出来,见到文档较小,也猜中可能是crc32,找专用工具爆掉的确也不是

在赛事中是想不到很有可能会是纯数据,之后就写个纯数据的工程爆破脚本制作就可以(脚本制作来源于官方网wp)

girlfriend:

导出来HTTP目标,选较大的是图片文件。开启见到flag

嘤语:

----- . ----. -... ..--- -... ...-- -.... . . ...-- ...-- -... .---- ...-- ..-. ..-. ----. .- --... ...-- -.. ..-. ....- ....- ----. -... --... --... . ..--- ..-.http://www.zhongguosou.com/zonghe/moersicodeconverter.aspx

怪异的标识符:

leet,l33t。网络黑客语言表达。wiki上找一下。有一览表,也是有线上的网址

http://www.englishcn.com/tools/Leet.htmhttp://output.jsbin.com/IHoFuQE/1
https://www.dcode.fr/leet-speak-1337
http://www.toolsxx.com/code/1337.html
https://1337.me/
https://www.gamehouse.com/blog/leet-speak-cheat-sheet/

无字天书:

打开文件,文档只由空格符,tab,自动换行构成。可能是white-space

找一个线上的网址贴进去能够 立即解,或是去gayhub上找一个。

https://vii5ard.github.io/whitespace/

ook立即破译就可

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

你确实掌握dns吗?

nslookup -type=txt hdctf.0x00.work,立即见到flag

dns的type表明dns的协议类型

nospace

零度标识符隐写

解出的便是password,登陆密码admin:https://offdev.net/demos/zwsp-steg-js

雪花飘飘

零解一题,看过wp还没有帮我整懂,问了一下出卷人。diff原网页页面和连接网页页面。发觉自动换行,考虑到网页页面隐写。应用stegsnow。snow=雪

用代码转换器diff就可以。

海南省上一次雨天時间。

随后就储存题型连接的html文档。

花瓣破译

https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=huaduo

海底捞火锅帧预告

这题觉得不会太难,便是头疼,看过wp还能懂,找到可以用FFmpeg删掉反复帧的指令,和wp一毛一样,问了一下出卷人,归还一个用脚本制作的构思,Hash较为每一帧来挑选。写不到,Ffmpeg天下第一。

删掉反复帧以后,明确提出照片。

最终挑选到4张,但现阶段无ps就没再次做下来了,拼起來反色就可以获得二维码。

专业团队:

分四环节,关键便是要减噪解决(不清楚能否把抬馆那一段提取)。也有能听出去DTMF编号。morse减噪完直接看就好了。DTMF不可以得话,就手解。减噪完也是可以看的,一个是频带,随后第二个应该是morse,第三个是dtmf 第四个便是派系的flag。连起來便是最终的flag了。

调2个频率段以后冲着DTMF的表可以看出来。用专用工具解得话有几个是乱掉的

煤层气挖矿

很奇特的一道题,数字货币有关。

metamask应用可参照:

https://zhuanlan.zhihu.com/p/112285438?from_voters_page=true

立即foremost分离图片就可以获得一个压缩文件,拖入16进制文档里还可以见到有12个50 4B 03 04的PK头

观查到尺寸较小,立即工程爆破crc就可以,以太坊钱包根据私匙词登陆。私匙词可根据数据查看,这儿就只工程爆破数据。

立即破就可以

https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt#L350

以太币钱包通过BIP-39生成私钥,数字查询助记词。

脚本

import binascii
import zipfile
import time
def crc32asii(v):
 return (binascii.crc32(bytes(str(v), encoding='ascii')) & 0xffffffff)
for x in range(1, 10000):
 f=zipfile.ZipFile("00000001.zip", "r")
 for i in range(1, 13): 
 GetCrc=f.getinfo(str(i)) 
 crc=GetCrc.CRC
 a=("0x%08x" % crc) 
 j=crc32asii(x) 
 if ("0x%08x" % j)==a: 
 print(i, x)
 time.sleep(0.1)

使用助记词登录之后,复制地址,去查询最近的交易记录

详情里得到的直接转字符串得到flag

到点了,上号

出题肯定有故事doge

考点是mp3保留字隐写数据,wp里给了wiki链接

https://en.wikipedi.org/wiki/MP3#File_structure

直接拿脚本就出了,未学习原理。

https://github.com/impakho/de1ctf-mc_challs/blob/master/writeup/mc_easybgm/mp3.py
3.crypto

起源

应该是凯撒直接解

围住世界:

这题疑惑了挺久的,以为是自己找的网站和软件不对。反反复复里里外外。试了好几个。后来翻看笔记的时候发现可能是w型栅栏密码

http://www.atoolbox.net/Tool.php?Id=777.com

有趣起来了:

就倒序,ctf特训营上有讲的。quiqui也可以做的,前面改成hdctf就好了。顺便把字母改一下即可。

官方wp上给的是用脚本

神秘字符:

一看时候只注意到mc。以为是什么mc的其他版本。就去疯狂google也没找到。后来就翻到mc的wiki。就mc附魔台上的字符,玩过mc的应该都知道,mc wiki上找张对比图,对比就好

https://minecraft-zh.gamepedia.com/Minecraft_Dungeons:%E7%AC%A6%E6%96%87

茫茫人海:

base64隐写,跟[ACTF新生赛2020]base64隐写挺像的。反正也是套脚本就好了

奇怪的贝斯:

整不会了这题,抱歉。

具体思路应该就是构造一个码表。\x即是转义字符,方便表示

babyrsa:

https://www.anquanke.com/post/id/87105

这题还好,纯现代密码菜鸡,不过给了pqe。又给了个链接,先求欧拉,然后就n,d,m

#coding:utf-8
from binascii import a2b_hex, b2a_hex
import gmpy2
#flag="*****************************"
p=262248800182277040650192055439906580479
q=262854994239322828547925595487519915551
e=65533
n=p*q
phi=(p-1)*(q-1)
d=gmpy2.invert(e, phi)
c=68405618655091231850901459679785989915772760467494039910176075122809565696913
m=pow(c, d, n)
print(m)
#a=(int(str(m),16))
a=191853633260784640753082658319123392799532077630882079100618224148262386737246462849
https://tool.lu/hexconvert/https://www.bejson.com/convert/ox2str/
4.Re

sign_up

直接查看字符串就可看到flag

re1

这题比赛的时候看,以为是异或运算+base64换表然后解密,找了半天硬是没找全64个字符。然后就不了了之。Re也不咋会。之后的题可以看官方wp。

5.Pwn

calculator

题目描述:

python2的input执行输入导致rce

先用__import__('os').system('/bin/sh')。

直接rce

然后用python -c 'import pty;pty.spawn("/bin/bash");'。

获得一个bash的shell

找到之后cat即可

自己写了一个。发现py直接input就可了

warmup

abs函数是取绝对值的意思。所以不可能小于0。考虑abs负数溢出。就是2的31次方。直接写脚本传就可

backdoor

字符串查看到sh,跟入

继续跟

bash后门

查看buf到r的位置

编写脚本溢出即可

其他pwn题本菜不会,pwn题可以参考某大佬,应该是ak了pwn题的:

https://www.cnblogs.com/z2yh/p/13771942.html

群贤毕至

访客
孤鱼轻禾 孤鱼轻禾2022-06-12 09:00:45 | 回复 试'load_file','information_schema'。还过虑了挺多物品的,之后就立即绕过引入,立即select就可以。看提醒(画线划去的)也是查过字段名是三个以后,立即查看
弦久辞忧 弦久辞忧2022-06-12 07:28:44 | 回复 密改为00开启你了解lsb代表什么意思吗就lsb底位隐写,存为7z就可以之后储存出来,见到文档较小,也猜中可能是crc32,找专用工具爆掉的确也不是在赛事中是想不到很有可能
痴者囍笑 痴者囍笑2022-06-11 23:12:10 | 回复 gs.com/z2yh/p/13771942.html
依疚稚然 依疚稚然2022-06-12 02:50:18 | 回复 ttps://en.wikipedi.org/wiki/MP3#File_structure直接拿脚本就出了,未学习原理。https://github.com/impakho/de1ctf-mc_challs/blob/master/writ
七凉1 七凉12022-06-12 09:07:10 | 回复 作就可以(脚本制作来源于官方网wp)girlfriend:导出来HTTP目标,选较大的是图片文件。开启见到flag嘤语:----- . ----. -... .