Problem

 

How-to-solve

우선 app.py부터 분석.

xss문제와 별반 다르진 않음.

하지만 frame, script, on 태그가 필터링이 되어 있었음.

notice_flag에 로컬(127.0.0.1)에서 admin으로 접근하면 flag를 얻을 수 있음.

flag에서 global 변수(memo_text)를 이용해 접근하기로 함.

script가 필터링되는 것을 확인.

hello가 한줄로 삽입되는 것을 확인.(개인적으로 두줄넘어가는게 싫음)

notice_flag는 로컬(127.0.0.1)이 아니어서 접근이 안됨.

결국 flag에서 날리는게 맞았음.

frame, script, on 말고 다른 것 중 애용하는 img를 쓰기로 결정.

태크에 스크립트를 넣어 접근하기로 함.

<img src=/admin/notice_flag?userid=admin>

이렇게 작성한 이유는 우선 접근하는 페이지가 /admin/notice_flag이고 app.py에서 userid가 admin이 아니면 거부된다고 있어서임.

제출 후에 memo에 접근하기로 함.

flag가 생성됨.

memo로 하는 이유는 값을 남길 수 있는 게 memo밖에 없음.

 

끝!

 

 

'Wargame > dreamhack' 카테고리의 다른 글

Carve Party  (0) 2022.02.07
image-storage  (0) 2022.02.07
command-injection-1  (0) 2022.01.26
rev-basic-2  (0) 2022.01.26
rev-basic-1  (0) 2022.01.26

Problem

How-to-solve

ping에서 명령어를 확인할 수 있음.

명령어 실행을 위해 ;로 끊어주고 실행하기로 함.

우선 확인을 위해 직접 넣어보았음.

안돼서 소스를 확인해봄.

필터링 패턴이 있는 것을 확임 함.

프록시에서 변조해서 보내는 것으로 결정.

ping이 실행된 후에 실행되는 것을 확인할 수 있었음.

(이거 때문에 한참 헤맴)

공백을 인식하지 않았음. 그래서 넣는 문자 별로 나누어 묶어주기로 함.

 

이렇게 넣으면 안 되고 cat과 flag.py사이에 공백을 넣어주어야 함.

아래에 flag가 뜨는 것을 확인할 수 있음.

 

끝!

'Wargame > dreamhack' 카테고리의 다른 글

image-storage  (0) 2022.02.07
csrf-1  (0) 2022.01.26
rev-basic-2  (0) 2022.01.26
rev-basic-1  (0) 2022.01.26
simple-sqli  (0) 2022.01.25

Problem

How-to-solve

rev-basic-1과 구동 방식은 같으므로 생략하겠음.

 

1. x64dbg

시작점을 찾아봄.

사실 input으로 시작하는 걸 알아서 찾아도 되지만 다르게 찾아볼 생각임.

우선 F9로 시작으로 갔음.

근데 개인적으로 시작점에서 전으로 따라 올라가면 대부분 구동 부분이 보임.

시작은 다른 것과 그리 다르지 않음.

여기에서 확인해야 하는 부분은 lea로 비교될 부분을 넣고 있는 것을 확인할 수 있음.

호출하는 부분은 확인하면 답을 알 수 있음.

Comp4re_the_arr4y

 

2. IDA

__security_cookie를 확인해봄.

DATA XREF: sub_140001120+9↑r

전과같이 따라가 봄.

시작하는 곳을 찾을 수 있음.

불러오는 부분이 sub_14001000인 것을 알 수 있음.

따라가 봄.

하나씩 비교하는 것을 알 수 있으나 따라가서 확인을 해봄.

답을 확인할 수 있었음.

Comp4re_the_arr4y

 

끝!

'Wargame > dreamhack' 카테고리의 다른 글

csrf-1  (0) 2022.01.26
command-injection-1  (0) 2022.01.26
rev-basic-1  (0) 2022.01.26
simple-sqli  (0) 2022.01.25
cookie  (0) 2022.01.25

Problem

How-to-solve

rev-basic-0과 큰 차이는 없음.

input과 worng, correct를 뽑는 것은 같아서 따로 얘기하진 않겠음.

 

1. x64dbg

전과 큰 차이는 없으나 문자열을 찾는 간단함을 알았음.

위와 같이 방식은 input에 답변을 맞다, 아니다로 나누는 방식임.

하여 시작점을 찾기 위해 문자열에서 input을 찾기로 함.

이후 input을 따라감.

rev-basic-0과 큰 차이 없이 검증 부분을 불러오는 것을 알 수 있음.

(여기에서 좀 당황)

하나씩 맞춰보기로 함.

답은 Compar3_the_ch4ract3r라는 것을 확인할 수 있었음.

 

2. IDA

(역시 보기 편함)

__security_check_cookie에 보면 __security_cookie와 비교하는 것이 보임.

따라가 봄.

DATA XREF: sub_140001350+9↑r <------이거에서 받아오는 것이 보임.

따라가 봄.

시작 코드인 것을 확인함.

마찬가지로 sub_14001000으로 비교하여 확인하는 것을 알게 됨.

따라가 봄.

..........................................

하나씩 맞춰보기로 함.

확인해보니 x64dbg와 같은 Compar3_the_ch4ract3r를 확인할 수 있었음.

 

끝!

'Wargame > dreamhack' 카테고리의 다른 글

command-injection-1  (0) 2022.01.26
rev-basic-2  (0) 2022.01.26
simple-sqli  (0) 2022.01.25
cookie  (0) 2022.01.25
pathtraversal  (0) 2022.01.25

+ Recent posts