CTF/웹해킹

[2020CCE] easy sqli / easy ssrf / robot - 웹해킹

SecurityMan 2022. 10. 13. 11:00

 

2020년에 진행된 국정원 주최 사이버공격방어대회

 

오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다.

 

당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다.

 

반응형

 

생각보다 쉬운 난이도의 문제가 많아서,

 

하나씩 포스팅하면 글이 너무 짧아질까봐

 

쉬운 문제들은 몇개씩 묶어서 포스팅 해보려 한다.

 

easy sqli

 

 

가장 먼저 easy sqli 문제

 

문제 페이지에 접속하면 로그인 페이지가 나오고,

 

Login as admin 이라는 가이드도 주고 있다.

 

SQL Injection 문제의 전형적인 문제로

 

아마 서버측에서는

 

select * from users where username=' ' and password = ' ' 이런식으로 쿼리가 적혀있을 것이다.

 

username 칸에 그림과 같이 admin'# 이라고 입력하면

 

select * from users where username='admin'#' and password = ' ' 이런식으로 들어가게 되서

 

뒤에 select * from users where username='admin'#' and password = ' ' 

 

이렇게 쿼리가 바껴버리기 때문에

 

admin 으로 로그인이 가능해진다.

 

 

admin 으로 로그인하면 플래그를 찾을 수 있다.

 

easy ssrf

 

 

 

이 문제는 캡쳐를 이거밖에 안해놨다..

 

주소창에 보이는 ?url= 파라미터를 이용해 SSRF 공격을 하는 문제였다.

 

SSRF는 Server Side Request Forgery 의 약자로

 

공격자가 서버의 기능을 남용해

 

공격자가 직접 접근할 수 없는 서버 영역의 정보에 접근하거나 조작하는 공격을 말한다.

 

문제에서 index.php 파일에 필터링이 하나 걸려있었는데,

 

그건 바로 url 파라미터 바로 뒤에 오는 값이 https 로 시작해아만 한다는 것이다.

 

처음에 13.125.66.218/?url=http://localhost/server-status 라고 입력해봤더니

 

뭔가 서버 상태창 같은게 출력되었다.

 

server-status 페이지를 모니터링 하고 있으면 다른 팀이 요청하는 url도 훔쳐볼 수가 있었는데

 

혹시나 하나 얻어걸릴까봐 계속 봤지만.. 결국 아무소득도 없었다.

 

계속 구글 검색하다가 어느 한 외국 블로그에서 @를 이용해 필터 우회가 가능하다는 내용을 봤고,

 

?url=http@file:///../../../../../../../../etc/passwd 라고 입력을 해봤더니

 

passwd 파일을 정상적으로 불러올 수가 있었다.

 

소스 파일에는 있지만, 그냥 접속했을때는 아무 내용도 없었던 config.php 파일이 수상해서

 

위 사진처럼 ?url=http@file:///../../../../../../../../var/www/html/config.php 로 들어가봤더니

 

주석처리된 플래그를 찾을 수 있었다.

 

robot

 

 

이건 전형적인 robots.txt 문제였다.

 

블로그를 운영하는 사람이라면 robots.txt가 익숙할 것이다.

 

 

네이버 서치어드바이저에 있는 바로 그 robots.txt이다.

 

robots.txt는 로봇 배제 표준이라고 해서 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 일종의 규약이다.

 

검색엔진들이 내 웹페이지를 마구마구 접근하는 것을 제한하기 위해서 사용한다.

 

웬만한 웹사이트들은 robots.txt를 다 가지고 있다.

 

 

대표적으로 구글 역시 https://www.google.com/robots.txt를 주소창에 입력하면 내용을 확인할 수 있다.

 

이 문제에서는 간단하게 문제페이지 주소 뒤에 /robots.txt를 입력하면

 

플래그를 확인할 수 있었다.

반응형