본문 바로가기

해킹/CTF

2023 vishwactf write up

최종 결산

끝나기 4시간 전 기준으로1778팀중에 292등! 785포인트 5문제 풀었다.
고생한 Goblebin, NaraDoseong 수고했으

 

 

 

내가 푼것 2문제

 

1. Eeezzy(web)

 

서버에 들어가면 이런 로그인 페이지가 나온다. 옆에 눌러서 코드를 볼 수 있다.

 

뭔가 strcmp라는 함수를 어디선가 본 것 같다.

 

찾아보니

https://hackability.kr/entry/PHP-strcmp-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EC%9A%B0%ED%9A%8C

 

[PHP] strcmp 취약점을 이용한 인증 우회

최조 작성: 2014-02-01 최종 수정: 2015-01-20 안녕하세요. Hackability 입니다. 이번에 작성할 내용은 PHP 에서 strcmp 취약점을 이용한 인증 우회 기법 입니다. 아래와 같이 간단히 인증을 하는 login.php 가 있

hackability.kr

strcmp라는 함수에 취약점이 있는 것을 확인
https://ch4190115427.ch.eng.run/?username=a&password[]=a&submit=Login
 
이런 식으로 삽입해주면 

 

 

플래그 확인!

 

2. 1nj3ct0r(포렌식)

 

패킷을 1개 던져주는데 와이어샤크로  접근해보면 이렇다 USB관련한 패킷인 것 같

참고사이트 https://whitesnake1004.tistory.com/686

 

usb.transfer_type == 0x01 :URB_INTERRUPT in 인것만 필터링

 

길이가 66 패킷을 보면 HID Data 있다.

따라서 66인 패킷만 모아 볼 것이다

 

(usb.transfer_type == 0x01)&&(frame.len==66)사용

맨밑에 2헥스값만 보면

00 00

00 09

...

이렇게 된다 따라서 이정보만 모으면 될 듯하다

 

f l a g ; [n0w-y0u-423-d0n3-w17h-u58-f023n51c5]

처음에 데이터를 모으면 이렇게 나오는데 답

VishwaCTF{n0w-y0u-423-d0n3-w17h-u58-f023n51c5}

를 넣었는데 답이 아니다.

 

0020줄에 02가 왼쪽 쉬프트를 눌렀다는 것을 의미한다. 즉 쉬프트+y이므로 대문자 Y인 것

 

FLAG : VishwaCTF{N)W_Y)U_$@%_DON#_W!&H_U%*_F)@#N%!C%}

이렇게되는데 답이아니다. N)W보다 N0W가 모양이 예뻐서 숫자들은 변환시키지말고 그대로두면??

 

VishwaCTF{N0W_Y0U_423_D0N3_W17H_U58_F023N51C5}

플래그가 나온다

 

팀원이 푼 것

1. unzipme(포렌식) 

TheEmail.eml 파일과 unzipme.zip라는 비밀번호가 걸려있는 압축파일을 준다.

 

갓 GPT

챗 GPT한테 물어보니 이름이라고 한다.

 

텍스트로 열면 이렇게 나오는데 처음에 팀원은 메시지 무결성검증을 하는 것이라고 생각해서 이걸 분석했는데 답은 아니었다 

 

그렇게 생각하다가 필자가 어쩌면 ZIP을 포렌식하는게 아닐까 생각했다.

HxD로 분석하면서 값수정했는데 결국 나오지 않았다.

비슷한 문제가 08 09에서 00 00으로 수정하면 암호가 풀린다고 했는데 위 파일은 좀 달라서 적용시킬 수 없었다.

 

그러다 팀원이 eml 파일에 집중해

Return-Path에 수신자도 발신자도 아닌 이상한 이메일이 있는 것을 확인했다.

그래서 위에서 푼 퀴즈인 이름에 근거하여 저 BrandLee라는 이름을 압축 비밀번호에 넣으면?

 

풀린다

 

2. Nice guys finish last(welcome)

이런 곳인데 html 주석이나 쿠키가 어딜 찾아바도 플래그가 나오질 않았다...

그러다 나는 공지의 rules를 읽다가 예전에 discord에 flag 뿌려준것이 기억나서 팀원이 들어가보니

Discord도 할때마다 확인해야겠다

3. Welcome to VISHWACTF'23!(welcome)

 

날먹문제이다

 

못푼문제

1. aLive(web)

 

들어가면 이렇게 도메인을 조회해준다

 

아무리봐도 dnslookup같아서 

| ls 는되는데 | nc, |whoami 등등 다른 명령어는 안됀다. 여기서 막혔다

 

2. Payload(web)

처음 들어가면 이렇게 뜨는데 버튼 클릭하면

 

이렇게 뜬다

찾아보니 저건 uname a의 결과라고 한다.

uname a는 시스템 명령어라 |ls, ;ls 이렇게 해서 쉘을 따는게 목적같은데 잘 안풀린다.

저위에 btn변수에 아무것도 안들어가는데 실행이된다 저기를 이용해서 뭔가하는 것 같은데 모르겠다.

3. Mascot(web)

 
 

3줄 빙고가 되면 누가 이겼는지 알려주고 끝난다

 

<script src="script.js"></script>

<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>

페이지 소스중에 외부라이브러리를 가져오는 이부분이 취약한 것 같은데 잘 모르겠다

 

후기
처음 팀으로 해서 5문제 풀었으니 만족이다.
CTF 풀기전엔 엄청 머리써야되서 안하고싶은데 막상하면 재밌다.

 

AISSM 파이팅