상세 컨텐츠

본문 제목

[HackCTF-Web#14] LOL - 300 points

WebHacking/HackCTF

by bing_su 2022. 1. 11. 18:12

본문

반응형
SMALL

HackCTF Web의 14번째 문제는 LOL이다.

문제 링크: http://ctf.j0n9hyun.xyz:2035

문제 링크로 들어가면 바로 flag.php로 접근을 할 수 있지만, 플래그는 보이지 않고 "you are not local"이라는 문구와 함께 하이퍼링크 하나가 있다. local로 flag.php에 접근하면 되겠지만 일단 해당 하이퍼링크로 들어갔다.

해당 페이지의 소스코드

해당 페이지의 소스코드를 먼저 살펴보면 문제 이름이 LOL인 것처럼 검색창에 입력을 하면 롤 전적 사이트인 op.gg로 이동한다. 우리는 이 사이트가 아닌 flag.php로 접근해야 플래그를 얻을 수 있으므로 서버로 하여금 공격자가 강제한 제어 동작을 수행하도록 하는 SSRF 공격을 사용해야겠다고 생각했다.

 

SSRF 공격은 서버에서 사용하는 URL 처리기에 따라 @나 #과 같은 기호를 사용해서 시도할 수 있다고 한다. @의 경우에는 앞부분은 무시하고 뒤의 주소로 접속하고, #의 경우에는 뒤쪽을 무시하고 앞쪽의 주소로 접속하여 whitelist 방식의 필터링을 우회할 수 있다고 한다. (참고한 블로그: https://cosyp.tistory.com/246)

flag.php로의 접근 시도

쿼리에는 /flag.php 값을 넣고, url에는 http://www.op.gg@127.0.0.1 형태로 입력을 해서 접근을 시도했다. 하지만 이러한 방식으로 접근하면 "Nop"이라는 문구가 뜬다. 이것으로 봤을 때 127.0.0.1도 우회하는 것 같았다. 따라서 이번에는 127.0.0.1을 우회하기 위한 방안을 찾아봤다. (참고한 블로그: https://posix.tistory.com/100)

  1. Decimal : 2130706433 (127.0.0.1)
  2. Omission-1 : 127.1 (127.0.0.1)
  3. Omission-2 : 192.168.1 (192.168.0.1)
  4. Omission & Octal : 0177.1 (127.0.0.1)
  5. Hexademical : 0x8080808 (8.8.8.8)
  6. Octal & Hexademical : 010.0x0000008.00000010.8 (8.8.8.8)
  7. Decimal & Hexademical : 8.0x000000000000000080808 (8.8.8.8)

127.0.0.1을 우회하여 flag.php에 접근
flag 획득

127.0.0.1까지 우회하여 flag.php로 접근한 결과 flag를 획득할 수 있었고 이를 인증하면 문제가 풀린다.

웹도 올클까지 두 문제 남았다. 스터디 전까지 다 풀어버리자.

반응형
LIST

관련글 더보기

댓글 영역