지금 글을 쓰는 날짜는 2021-08-21 9시 11분으로 YISF(순천향대 정보보호 페스티벌?) 본선 하루 전이다.
원래 예선이 끝나고 바로 후기 겸 Write up을 쓰려고 했는데 귀찮아서 미루다 미루다 본선 하루 전에 쓰게 된다.
지금은 사이트가 닫혀있지만 어차피 나는 폰이나 웹은 못 건드렸기 때문에 지금 Write up을 써도 딱히 상관없을 것 같다.(이라고 생각했으나 생각해보니까 미스크도 NC를 쓴 문제가 2문제쯤 됐다;)
나는 미스크 6문제, 립싱 한 문제를 풀면서 예선 5위로 본선에 진출했다. 물론 미스크 한 문제는 마이크 체크이다ㅎ
서버가 닫혀서 정말 간략하게 Write up을 정리한다.
[MISC] MIC Check
마이크 체크부터 개 꼴 받게 나왔다.
1. 본 대회는 _ _ _ 으로 진행되므로 문제에 대한 _ _, _ _ _ _, 힌트 공유는 금지입니다.
2. SQLMap, Nessus 등과 같은 _ _ _ 툴은 모두 금지되어 있습니다.
3. 인가된 방법을 통한 문제 접근 외에 _ _ _적인 서버 접근이나 서버에 대한 _ _ _ _는 허용되지 않습니다.
모두에게 유의미한 성과가 나오기를... 대회 운영진 모두가 응원합니다!
빈칸을 채워서 MD5로 해쉬한 게 FLAG였다.
"개인전정답풀이방법자동화비정상공격행위" => 6970fc775b19aa348f5a4cce7b0c59af
FLAG = YISF{6970fc775b19aa348f5a4cce7b0c59af}
[MISC] Word Chain
이문제는 nc를 들어가서 ai랑 끝말잇기를 하는 문제였는데 그냥 영어 단어 대충 가져와서 틀린 글자 지워가면서 될 때까지 돌렸다. 먼가 이상한 게 어떨 때는 나오고 어떨때는 안 나왔다;; 그래서 승준이랑 지훈이는 AI가 쓰는 단어 계속 파싱 해서 풀었다고 한다. 그리고 이 문제 풀 때 윈도에서 pwntools이 고장 나서 vm pwntools로 풀었다.
l = '''world
information
map
family
government
health
system
computer
meat
year
music
person
reading
method
data
food
understanding
theory
law
bird
literature
problem
software
control
knowledge
power
ability
economics
love
internet
television
science
library
nature
fact
product
idea
temperature
investment
area
society
activity
story
industry
media
thing
oven
community
definition
safety
quality
development
language
management
player
variety
video
week
security
country
exam
movie
organization
equipment
physics
analysis
policy
series
thought
basis
boyfriend
direction
strategy
technology
army
camera
freedom
paper
environment
child
instance
month
truth
marketing
university
writing
article
department
difference
goal
news
audience
fishing
growth
income
marriage
user
combination
failure
meaning
medicine
philosophy
teacher
communication
night
chemistry
disease
disk
energy
nation
road
role
soup
advertising
location
success
addition
apartment
education
math
moment
painting
politics
attention
decision
event
property
shopping
student
wood
competition
distribution
entertainment
office
population
president
unit
category
cigarette
context
introduction
opportunity
performance
driver
flight
length
magazine
newspaper
relationship
teaching
cell
dealer
finding
lake
member
message
phone
scene
appearance
association
concept
customer
death
discussion
housing
inflation
insurance
mood
woman
advice
blood
expression
importance
opinion
payment
reality
responsibility
situation
skill
statement
wealth
application
city
county
depth
estate
foundation
grandmother
heart
perspective
photo
recipe
studio
topic
collection
depression
imagination
passion
percentage
resource
setting
ad
agency
college
connection
criticism
debt
description
memory
patience
secretary
solution
administration
aspect
attitude
director
personality
psychology
recommendation
response
selection
storage
version
alcohol
argument
complaint
contract
emphasis
highway
loss
membership
possession
preparation
steak
union
agreement
cancer
currency
employment
engineering
entry
interaction
mixture
preference
region
republic
tradition
virus
actor
classroom
delivery
device
difficulty
drama
election
engine
football
guidance
hotel
owner
priority
protection
suggestion
tension
variation
anxiety
atmosphere
awareness
bath
bread
candidate
climate
comparison
confusion
construction
elevator
emotion
employee
employer
guest
height
leadership
mall
manager
operation
recording
sample
transportation
charity
cousin
disaster
editor
efficiency
excitement
extent
feedback
guitar
homework
leader
mom
outcome
permission
presentation
promotion
reflection
refrigerator
resolution
revenue
session
singer
tennis
basket
bonus
cabinet
childhood
church
clothes
coffee
dinner
drawing
hair
hearing
initiative
judgment
lab
measurement
mode
mud
orange
poetry
police
possibility
procedure
queen
ratio
relation
restaurant
satisfaction
sector
signature
significance
song
tooth
town
vehicle
volume
wife
accident
airport
appointment
arrival
assumption
baseball
chapter
committee
conversation
database
enthusiasm
error
explanation
farmer
gate
girl
hall
historian
hospital
injury
instruction
maintenance
manufacturer
meal
perception
pie
poem
presence
proposal
reception
replacement
revolution
river
son
speech
tea
village
warning
winner
worker
writer
assistance
breath
buyer
chest
chocolate
conclusion
contribution
cookie
courage
desk
drawer
establishment
examination
garbage
grocery
honey
impression
improvement
independence
insect
inspection
inspector
king
ladder
menu
penalty
piano
potato
profession
professor
quantity
reaction
requirement
salad
sister
supermarket
tongue
weakness
wedding
affair
ambition
analyst
apple
assignment
assistant
bathroom
bedroom
beer
birthday
celebration
championship
cheek
client
consequence
departure
diamond
dirt
ear
fortune
friendship
funeral
gene
girlfriend
hat
indication
intention
lady
midnight
negotiation
obligation
passenger
pizza
platform
poet
pollution
recognition
reputation
shirt
sir
speaker
stranger
surgery
sympathy
tale
throat
trainer
uncle
time
work
film
water
money
example
while
business
study
game
life
form
air
day
place
number
part
field
fish
back
process
heat
hand
experience
job
book
end
point
type
home
economy
value
body
market
guide
interest
state
radio
course
company
price
size
card
list
mind
trade
line
care
group
risk
word
fat
force
key
light
training
name
school
top
amount
level
order
practice
research
sense
service
piece
web
boss
sport
fun
house
page
term
xylophone
test
answer
sound
focus
matter
kind
soil
board
oil
picture
access
garden
range
rate
reason
future
site
demand
exercise
image
case
cause
coast
action
age
bad
boat
record
result
section
building
mouse
cash
class
nothing
period
plan
store
tax
side
subject
space
rule
stock
weather
chance
figure
man
model
source
beginning
earth
program
chicken
design
feature
head
material
purpose
question
rock
salt
act
birth
car
dog
object
scale
sun
note
profit
rent
speed
style
war
bank
craft
half
inside
outside
standard
bus
exchange
eye
fire
position
pressure
stress
advantage
benefit
box
frame
issue
step
cycle
face
item
metal
paint
review
room
screen
structure
view
account
ball
discipline
medium
share
balance
bit
black
bottom
choice
gift
impact
machine
shape
tool
wind
address
average
career
culture
morning
pot
sign
table
task
condition
contact
credit
egg
hope
ice
network
north
square
attempt
date
effect
link
post
star
voice
capital
challenge
friend
self
shot
brush
couple
debate
exit
front
function
lack
living
plant
plastic
spot
summer
taste
theme
track
wing
brain
button
click
desire
foot
gas
influence
notice
rain
wall
base
damage
distance
feeling
pair
savings
staff
sugar
target
text
animal
author
budget
discount
file
ground
lesson
minute
officer
phase
reference
register
sky
stage
stick
title
trouble
bowl
bridge
campaign
character
club
edge
evidence
fan
letter
lock
maximum
novel
option
pack
park
plenty
quarter
skin
sort
weight
baby
background
carry
dish
factor
fruit
glass
joint
master
muscle
red
strength
traffic
trip
vegetable
appeal
chart
gear
ideal
kitchen
land
log
mother
net
party
principle
relative
sale
season
signal
spirit
street
tree
wave
belt
bench
commission
copy
drop
minimum
path
progress
project
sea
south
status
stuff
ticket
tour
angle
blue
breakfast
confidence
daughter
degree
doctor
dot
dream
duty
essay
father
fee
finance
hour
juice
limit
luck
milk
mouth
peace
pipe
seat
stable
storm
substance
team
trick
afternoon
bat
beach
blank
catch
chain
consideration
cream
crew
detail
gold
interview
kid
mark
match
mission
pain
pleasure
score
screw
sex
shop
shower
suit
tone
window
agent
band
block
bone
calendar
cap
coat
contest
corner
court
cup
district
door
east
finger
garage
guarantee
hole
hook
implement
layer
lecture
lie
manner
meeting
nose
parking
partner
profile
respect
rice
routine
schedule
swimming
telephone
tip
winter
airline
bag
battle
bed
bill
bother
cake
code
curve
designer
dimension
dress
ease
emergency
evening
extension
farm
fight
gap
grade
holiday
horror
horse
host
husband
loan
mistake
mountain
nail
noise
occasion
package
patient
pause
phrase
proof
race
relief
sand
sentence
shoulder
smoke
stomach
string
tourist
towel
vacation
west
wheel
wine
arm
aside
associate
bet
blow
border
branch
breast
brother
buddy
bunch
chip
coach
cross
document
draft
dust
expert
floor
god
golf
habit
iron
judge
knife
landscape
league
mail
mess
native
opening
parent
pattern
pin
pool
pound
request
salary
shame
shelter
shoe
silver
tackle
tank
trust
assist
bake
bar
bell
bike
blame
boy
brick
chair
closet
clue
collar
comment
conference
devil
diet
fear
fuel
glove
jacket
lunch
monitor
mortgage
nurse
pace
panic
peak
plane
reward
row
sandwich
shock
spite
spray
surprise
till
transition
weekend
welcome
yard
alarm
bend
bicycle
bite
blind
bottle
cable
candle
clerk
cloud
concert
counter
flower
grandfather
harm
knee
lawyer
leather
load
mirror
neck
pension
plate
purple
ruin
ship
skirt
slice
snow
specialist
stroke
switch
trash
tune
zone
anger
award
bid
bitter
boot
bug
camp
candy
carpet
cat
champion
channel
clock
comfort
cow
crack
engineer
entrance
fault
grass
guy
hell
highlight
incident
island
joke
jury
leg
lip
mate
motor
nerve
passage
pen
pride
priest
prize
promise
resident
resort
ring
roof
rope
sail
scheme
script
sock
station
toe
tower
truck
witness
a
you
it
can
will
if
many
most
other
use
make
good
look
help
go
great
being
few
might
still
public
read
keep
start
give
human
local
general
she
specific
long
play
feel
high
tonight
put
common
set
change
simple
past
big
possible
particular
today
major
personal
current
national
cut
natural
physical
show
try
check
second
call
move
pay
let
increase
single
individual
turn
ask
buy
guard
hold
main
offer
potential
professional
international
travel
cook
alternative
following
special
working
whole
dance
excuse
cold
commercial
low
purchase
deal
primary
worth
fall
necessary
positive
produce
search
present
spend
talk
creative
tell
cost
drive
green
support
glad
remove
return
run
complex
due
effective
middle
regular
reserve
independent
leave
original
reach
rest
serve
watch
beautiful
charge
active
break
negative
safe
stay
visit
visual
affect
cover
yellow
yogurt
young
youth
yet
yield
you
yawn
yell
yes
yeah
yearn
yam
yacht
yesterday
yeast
yummy
yam
yoga
Yemen
yttrium
report
rise
walk
white
beyond
junior
pick
unique
anything
classic
final
lift
mix
private
stop
teach
western
concern
familiar
fly
official
broad
comfortable
gain
maybe
rich
save
stand
young
fail
heavy
hello
lead
listen
valuable
worry
handle
leading
meet
release
sell
finish
normal
press
ride
secret
spread
spring
tough
wait
brown
deep
display
flow
hit
objective
shoot
touch
cancel
chemical
cry
dump
extreme
push
conflict
eat
fill
formal
jump
kick
opposite
pass
pitch
remote
total
treat
vast
abuse
beat
burn
deposit
print
raise
sleep
somewhere
advance
anywhere
consist
dark
double
draw
equal
fix
hire
internal
join
kill
sensitive
tap
win
attack
claim
constant
drag
drink
guess
minor
pull
raw
soft
solid
wear
weird
wonder
annual
count
dead
doubt
feed
forever
impress
nobody
repeat
round
sing
slide
strip
whereas
wish
combine
command
dig
divide
equivalent
hang
hunt
initial
march
mention
smell
spiritual
survey
tie
adult
brief
crazy
escape
gather
hate
prior
repair
rough
sad
scratch
sick
strike
employ
external
hurt
illegal
laugh
lay
mobile
nasty
ordinary
respond
royal
senior
split
strain
struggle
swim
train
upper
wash
yellow
convert
crash
dependent
fold
funny
grab
hide
miss
permit
quote
recover
resolve
roll
sink
slip
spare
suspect
sweet
swing
twist
upstairs
usual
abroad
brave
calm
concentrate
estimate
grand
male
mine
prompt
quiet
refuse
regret
reveal
rush
shake
shift
shine
steal
suck
surround
anybody
bear
brilliant
dare
dear
delay
drunk
female
hurry
inevitable
invite
kiss
neat
pop
punch
quit
reply
representative
resist
rip
rub
silly
smile
spell
stretch
stupid
tear
'''
l = l.split()
from pwn import *
context.log_level ='debug'
# print(l)
li = []
for i in l:
if len(i)>=4:
li.append(i)
# print(li)
r = remote("211.229.232.121", 50005)
print(r.recvuntil('[*] Good Luck!'))
hi = r.recvline().decode('utf-8')
hi = r.recvline().decode('utf-8').split(':')[-1]
print(hi)
cnt = 0
# print(str(hi)[-2])
# # r.send('hi')
while True:
for i in li:
if i[0] == hi[-2]:
# k = bytes(i, encoding = "utf-8")
k = i
print(k)
r.sendline(k)
li.remove(k)
try:
li.remove(hi)
except:
pass
break
hi = r.recvline().split(':')[1]
cnt+=1
print(cnt)
FLAG = YISF{4R3_y0u_4_M49ic14n_0F_Lan9u4g3}
[MISC] Have you ever heard a fox cry?
밢밞딻발닦받닶빠뭏
발탕빫맣발밦딿둡붏
퐁탈빲맣맣판뿌뿡북
뫃볻팟탉받붘뭏뿣뚴
뽀뽀뫃카운붖푸뭏툷
돈뫃뫃골쿺툰뿌붋뿏
볻뽀뽀콜욶툭뭏두뭏
톶도뽂뫃굮두푸뿌분
똨볾톯도쿦붘뿌뭏붆
봄뽀봌봇휴뚜분붇뚜
볼뫃뫃뫃더벖둑툲둟
돈독뽀퍼멓뻐멓뿡뿎
뽀복펗뻒멓뻘멓멓뭏
뽕멓뻩털터벐떠벌벆
딱 봐도 아희길래 걍 아희 처리기로 풀었다.
FLAG = YISF{A_hee_ahee_ha_hee!}
Twinkle Twinkle Little Star
이런 mov영상 파일을 하나 주는데 LED의 점멸에 맞춰서 모스부호로 바꿔서 돌려보면 nc주소가 하나 나오는데 nc에 들어가면 FLAG를 준다.
하나가 #으로 나와서 0부터 9까지 넣어 봤는데 nc 211.229.232.120 6580 였다.
밑에 작게 Flag Hint라는 게 보이는데 누가 봐도 base64 인코딩이다.
FLAG = YISF{nalang_byeol_boleo_gallae?}
[MISC] Ready... Action!!!
이건 문제 설명에 힌트가 다 있었는데 Redux 상태 관리 디버깅에 관한 문제였다.
Redux DevTools라는 크롬 익스텐션을 쓰면 이렇게 보이는데 머 type을 GET_FLAG로 바꾸라는 거 같다.
어떻게 바꿔야 되는지 뒤지게 헤매다가
저기 잘 안 보이지만 Dispatcher라고 적혀있는데 이걸 눌러서 type을 GET_FLAG로 바꾸면 FLAG를 준다
FLAG = YISF{Ch3ck_th3_deBugGing_m0dul3_b3fOre_D3p1oy_5erViCe!}
[MISC] Paint with a brush
마지막 미스크 문제이다.
이문제에서 진짜 한 5시간은 쓴 거 같다.
이런 txt 파일과 zip 파일을 하나 주는데 zip 파일에는 암호가 걸려있다.
이 txt 파일의 내용은 brain fuck라는 언어 같은데 걍 온라인 디코더 돌렸다.
이런 hex값이 나오는데 걍 감으로 사진 파일일 것 같아서 헤더를 보니까 png파일이었다.
근데 그냥 png로 바꾸면 파일이 깨져서 나오는데
이 0 부분을 지워주면 제대로 된 사진이 나온다.
여기서 진짜 시간을 개많이 썼는데 인텐인진 모르겠지만 난 zsteg라는 툴을 사용했다.
zsteg -a 사진.png 하면 정보를 뽑아준다.
먼가 엄청 많이 뽑히는데
여기서 중복을 제거하면 ZIP{7sTH6E!}ZIP가 나오고 7sTH6E!가 zip 파일의 암호이다.
zip 암호를 풀고 나면 gif 파일을 하나 얻을 수 있는데 이를 hxd로 까 보면 맨 밑에
라는 게 있는 걸 볼 수 있다.
gif 파일을 사진 파일이 모여서 만들어진 거기 때문에 모든 사진 파일의 크기를 찾아서 높이를 530으로 바꿔주어야 한다.
현재 파일의 크기는 480x480, hex로는 E0 01 E0 01인데 이를 모두 찾아서 E0 01 12 02로 바꾸면 밑에 잘려있던 FLAG를 볼 수 있다.
FLAG = YISF{You_4RE_4_R3ALLY_5MART_P3R5ON!}
[Rev] Space Y
아이다로 까서 함수를 뒤지다 보면 딱 봐도 수상한 게 하나 있다.
dword_14000A19C가 256이고 dword_14000A048이 128인걸 볼 수 있다.
걍 리스트 가져와서 연산해줬다.
l = [0xD9, 0xC9, 0xD3, 0xC6, 0xFB, 0xC9, 0xDF, 0xF7, 0xB1, 0xEC, 0xEC, 0xDF, 0xE7, 0xB0, 0xDF, 0xF4, 0xB0, 0xDF, 0xD6, 0xB3, 0xCE, 0xD5, 0xB5, 0xFE, 0xFD, 0x00, 0x00, 0x00, 0x75, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
a = 256
b = 128
flag = ''
for i in range(len(l[:25])):
flag+=chr(a^(b+l[i]))
print(flag)
FLAG = YISF{I_w1ll_g0_t0_V3NU5~}
정말 대충 쓴 거 같닿;;
후기
일단 36시간 대회라서 자고 일어나도 대회를 해야 된다는 게 조금 어지러웠지만 자고 일어났는데 순위가 거의 안 바뀐 걸 보고 다행이라고 생각했다. 36시간이 생각보다는 긴 시간이었어서 끝나고 나니까 너무 조급하게 풀었던 거 같기도 하다. 리버싱 문제 한 문제 더 풀 수 있었을 거 같은데 맞는 리스트를 찾아놓고도 아닌 줄 알아서 드롭했던 게 조금 아쉬운 것 같다. 내일이 본선인데 머 본선에서 문제를 풀 수 있을 거라고 기대하진 않지만 문제 구경하는 데에 의미를 두어야겠다. 그리고 오늘 안동대 대회도 있었는데 이거 Write up 겸 후기도 써야 되는데 이것도 언제 쓸지는 미지수이다.
'Hacking > 기타' 카테고리의 다른 글
codegate2022 예선 후기 (0) | 2022.03.02 |
---|---|
2022 Hayyim CTF 후기 (0) | 2022.02.13 |
IDA python (0) | 2022.01.17 |
YISF 본선 후기 겸 Write up (0) | 2021.08.24 |
Burp Suite (0) | 2021.01.06 |