'Security'에 해당하는 글 28건

반응형

문제를 받아줍니다.

admin 계정의 패스워드가 FLAG 임을 확인할 수 있습니다.

코드를 보면, users 리스트에서 PW를 불러오고, 사용자가 입력한 패스워드와 if 문을 통해 비교를 합니다.

동일하다면 sessionid를 값으로 하는 session_storage를 username에 저장해줍니다. 그리고 cookie의 값을 sessionid로 저장해주고 반환해줍니다.

admin 함수에서는 session_storage의 값을 반환해주는 것을 확인할 수 있습니다.

admin

/admin으로 접속해보니, admin 계정의 세션id가 출력되는 것을 확인할 수 있습니다.

이제, burpsuite를 활용하여 admin으로 접속하도록 변조해봅시다.

open browser를 통해 http://host3.dreamhack.games:11012/login 에 들어가고, 아래와 같이 cookie에 해당하는 값을 직접 입력해준 후, forward를 해줍니다.

아래와 같이, FLAG 값을 뱉어내는 것을 확인할 수 있습니다.

 

즉, Session id 값을 확인하여 이를 쿠키값으로 변조하여 로그인하는 시도를 성공할 수 있습니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제파일을 받고, 풀어주자 아래와 같이 나옵니다.

 

https://tools.dreamhack.games/cyberchef

 

dreamhack-tools

 

tools.dreamhack.games

로 들어가보자, 아래와 같이 화면이 나옵니다. 사용 툴로 보입니다.

여기서, INPUT에 EUg5MJAyYJ9fYJ5iMKqio29iVK1VL2WlnTM0o3AyL2Elq3q3qlRu 문자열을 넣고, 이를 복호화 하기 위한 과정을 수행해봅니다.

힌트에 Rail Fence → Base64 → ROT13로 되어있다고 하니, 복호화는 ROT 13 -> BASE64 -> RAIL FENCE로 수행해줍니다.

아래와 같이 output으로 flag가 나오는 것을 확인할 수 있습니다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

session-basic 문제풀이  (0) 2025.04.21
phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제 다운로드했을 때, 

index.php에서는 별다른 힌트없이 html 바디로 이루어진것을 확인할 수 있습니다.

다음으로 step2.php를 확인하자 아래와 같은 소스가 보이고 php로 필터링하는 주요 구문을 캡처했습니다.

input1, input2 태그를 통해 입력되는 값을 input_name, input_pw로 구분하는 것이 보이고,

pw filtering을 통해 패스워드 입력칸에 알파벳을 입력했을 때 echo로 패스워드 알파벳에 대한 필터링을 하고 있음이 확인됩니다.

더불어 else 구문에서는

name -> nyang은 공백으로 치환하고 있습니다. 그리고 pw는 preg_replace("/\d*\@\d{2,3}(31)+[^0-8\"]\!/" 를 d4y0r50ng로 치환하고 있습니다.

이때, name = dnyang0310, pw는 d4y0r50ng+1+13으로 보입니다.

 

따라서, name은 dn(nyang->공백치환)yang0310으로 즉 dnnyangyang0310 으로 해주면 되고,

pw는 /\d*\@\d{2,3}(31)+[^0-8\"]\!/+1+13 으로 입력해주면 될 것으로 보입니다.

이때, pw에 대한 구문을 해석해보면, 아래와 같습니다.

\d* -> 숫자 0개 이상

\@ -> @

\d{2,3} -> 숫자 2개 이상~3개 이하

(31) -> 31

[^0-8\"] -> 0~8을 제외한 나머지

\! -> !

즉, 패스워드는 1@11319!+1+13 으로 만들어 줄 수 있습니다.

 

그럼, 아래와 같이 step2로 문이 열리는 것을 확인할 수 있습니다.

 

이때, 플래그는 아래와 같이 얻을 수 있다고 합니다.

cat ../dream/flag.txt 를 해보니, error가 나옵니다.

확인해보니, 코드상에 아래와 같이 cmd filtering이 있는 것을 확인할 수 있습니다.

이를 우회하기 위해, flag에 대한 패턴을 아래처럼 바꾸어 줍니다.

flag 값을 획득했고, 이를 입력해줍니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

session-basic 문제풀이  (0) 2025.04.21
dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제를 받고 서버도 생성해줍니다.

host3.dreamhack.games:23858 로 접근하니 아래와 같습니다。

받은 app。py를 살펴보니 flag라는 명령이 들어오면 no라는 result 값을 출력하도록 되어있네요。

cat flag.txt를 찍어보니 안된답니다... ls 로 파일을 확인해보니 아래와 같습니다.

이 중, requirement.txt를 찍어보니 flask로 나오고, hint.txt를 cat으로 확인해보니 아래와 같이 flag 경로가 나옵니다.

cat ./dream/hack/hello/flag.txt를 확인해보니 또다시 no로 나오는 걸로 보아, app.py의 필터링 규칙이 적용된 것 같습니다.

해당 경로에 파일을 ls ./dream/hack/hello 로 확인해보니 flag.txt만 있는 것으로 확인됩니다.

필터링 규칙 우회를 위해, cat ./dream/hack/hello/*.txt 로 확인해줍니다.

아래와 같이 DH 값이 나옵니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
phpreg 문제풀이  (1) 2025.04.19
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

소스코드를 다운받아줍니다.

소스코드를 받으면 index.html이 있고, 소스코드를 확인해보면 value 값이 보입니다. base64 encoding 되어있는것으로 보이니, 해당 값을 디코딩해줍니다.

디코딩 사이트에서 확인해보니 코드가 보이고, 해당 코드를 파이썬으로 출력하면 다음과 같이 보입니다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

rev-basic-0과 동일하게 correct를 출력하는 입력값을 찾아내는 문제이다.

똑같이 문제를 다운로드 받는다.

 

그리고 이전 포스팅과 동일하게 x64dbg를 이용하여 해당 실행파일을 분석해본다.

똑같이 correct를 더블클릭해주고, 

상단의 빨간 밑줄부분을 확인해보니, 아래와 같이 값들이 이번에는 문자로 분리되어 보인다.

보니까 cmp(문자 비교)를 하는것 같고, 쭈욱 내려가니 값은 Compar3_the_ch4ract3r 로 보여져서, 실행해보니 Correct가 나오는것을 확인하였다.

이전에 푼 방법과 동일한 방법이라 어렵지않았다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
Carve Party 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02
command-injection-1 문제풀이  (2) 2025.02.01

WRITTEN BY
SiriusJ

,
반응형

호박을 10000번 클릭해야하나보다. 매크로를 쓸까 고민했다.

우선 문제파일을 받으니 아래와 같이 html 파일이 하나 보인다.

 

몇번 눌러보니 호박이 웃는다... 일단 소스코드를 확인해보니 아래처럼 counter를 10000번 해야하는 것으로 보인다.

 

클릭했을 때 바로 make() 를 해보거나, 주석처리로 if 문 전체를 날려보아도 그대로 클릭하는게 유지되는 걸로 보인다.

그래서 반복문(while)을 사용해서 counter가 10000이 될때까지 증가시켜서 해당 값을 0으로 만들어버렸다.

 

클릭해보니 DH 값을 뱉어낸다.

이 값을 넣어보니 완성되는것을 확인하였다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02
command-injection-1 문제풀이  (2) 2025.02.01
file-download-1 문제풀이  (0) 2025.02.01

WRITTEN BY
SiriusJ

,
반응형

이번에는 reversing 문제이다.

문제를 다운받아 준다.

다운받아 압축을 해제하면 해당 exe파일이 보인다.

해당 exe 파일을 바이너리 분석을 위해 x64dbg를 사용하였다.

프로그램을 열면 위와 같고, 여기서 다운로드 받은 exe파일을 열어준다.

키워드가 해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! 이기 때문에, correct를 해당 모듈에서 검색해준다.

아래 이미지처럼 검색되고, 가장 상단에 flag 값처럼 보이는게 있지만 우선 correct를 더블클릭하여 따라간다.

그리고 그 위에 chall0.7FF7C23F11F0 등 입력값을 받았을 때 correct 또는 wrong을 출력하는 것으로 보인다. 둘다 이동해보니 빨간색 밑줄표시한 부분에 아래 이미지와 같이 flag 값으로 추정되는 값이 보인다.

이 값을 입력해보니, 성공으로 보여진다.

IDA를 사용해보려고했는데 다운로드가 너무 오래걸려서 x64dbg 를 이용해서 빠르게 확인해보았다.

반응형

'Security > 드림핵' 카테고리의 다른 글

rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02
command-injection-1 문제풀이  (2) 2025.02.01
file-download-1 문제풀이  (0) 2025.02.01
devtools-sources 문제풀이  (1) 2025.02.01

WRITTEN BY
SiriusJ

,