Web - LOL

HelloMG
|2020. 9. 28. 23:04

안녕하세요 :D

 

오랜만에 CTF 블로깅으로 돌아왔습니다!

 

최근까지 직장 업무에 다른 활동도 있었지만 Dreamhack CTF와 뉴스거리들을 올리는 것에 집중한다고

장기간 작성하지 못했네요!

 

오늘부터 다시 차근차근 하나씩 풀어보도록 하겠습니다 :D

LOL

문제이름이 LOL 이네요?

들어가보도록하겠습니다 !!

 

you are not local

음.. 로컬이 아니라구요..?

 

그저 게임을 즐기자고요..?

들어가보죠 :D

 

Search user

들어와보니 Search user라는 문구와함께 User 이름을 적는 란이 존재합니다.

 

아무 말이나 한번 적어보도록 하죠!

 

Result

"test"를 입력하니 OP.GG의 화면이 나옵니다! (참 익숙한 화면이네요~_~)

 

그럼 문제 홈페이지의 소스코드를 살펴볼 필요가 있겠죠 :D?

 

그전에 OP.GG로 이동시키는 기능이 있을거라 예상은 충분히 할 수 있습니다!

 

Source Code

역시 소스코드를 보니 hidden 타입의 값이 들어가 있습니다.

 

그리고 입력한 값은 query라는 변수로 들어가게 되고 hidden url로 인해 OP.GG로 넘어가게되네요!

 

burp proxy

Burp로 확인을 해본 결과 역시는 역시나죠 :D

 

자 그럼 이런 문제는 SSRF 공격 유형의 문제입니다.

 

그럼 우회방법은 어떤 방법이 있을까.. 바로 "@"를 이용해 주는 것입니다!

 

의도하지는 않았지만.. 간단한 예로 아래를 보도록 하겠습니다 :D

 

Ex

Burp로 잡은 후 query에는 flag.php, url은 "XXXXwww.op.gg@XXXX"를 넣었습니다.

 

그리고 전송하면 결과는!

 

Ex Result

http://...@ctf.j0n9hyun.xyz:2035/flag.php가 나오게 됩니다! 

 

즉, "@" 이전의 값은 들어가지 않고 이후의 값이 넘어가게 됩니다 :D

 

이렇듯 SSRF는 Server-Side Request Forgery의 약자로 서버의 기능을 악의적으로 이용하여 원래 요청할 수 없었던 것을 서버 내부 명령을 통해 접근하는 것을 말합니다.

 

그럼 "@" 잘 이용해서 서버 내부에 있는 flag php페이지에도 접근할 수 있겠죠?

 

Good~

그래서 저는 위와같이 "../../"를 넣어서 flag.php에 도달하도록 했습니다!

 

Good~!

그럼 다시 원래 페이지로 돌아오게 되죠!

 

하지만 초기의 화면과 뭔가 다릅니다!

 

페이지가 다르다는 소리이니 페이지 소스코드를 확인해봅시다 :D

 

lololololol

소스코드를 보니 Flag가 들어있네요 !!

 

이렇게 문제풀이를 마쳤습니다!

 

이번 문제는 SSRF 문제로 "@" 우회법을 사용해서 Flag를 획득하는 문제였습니다 :D

'CTF > HackCTF' 카테고리의 다른 글

Reversing - Keygen  (0) 2021.01.06
Reversing - Strncmp  (0) 2021.01.05
Reversing - Handray  (0) 2020.04.07
Forensics - 잔상  (0) 2020.04.02
Forensics - Terrorist  (0) 2020.03.31