[WEB] Admin has the power 문제풀이

2019. 2. 13. 23:38CTF/Cybertalents

안녕하세요!

오늘은 ctftime.org에서

진행하는 ctf중 


cybertalent.com이라는

작은 사이트를 알게 됐는데요!


여기에 practice에 web문제들이 있길래

가져와 봤습니다! 


easy한 난이도의 문제인데요!

링크를 타고 들어가보니 

이렇게 로그인창이 뜨네요!


그래서 아무거나 입력해봤는데,

안돼서 문제푸는 단서를 찾을겸

F12를 눌러서 코드를 좀

보기로 했습니다!


근데 html코드를 보니까 신기한게,

원래는 주로 힌트들이 

<body>태그 안에 주로 있는데


이 문제는 <head>태그 에 이렇게 있더라구요!

다른건 눈에 안띄는데, 

"remove this line, for maintenance purpose use this info"

이 문장을 보고 바로 이거구나! 싶었습니다!


왜냐하면 영어해석이 서투신 분들도 있으시겠지만

영어 단어 위주로만 해석하셔도 

remove= 제거하다

maintenance= 유지, 보수

"이 라인을 제거해라, 유지 혹은 보수 목적을 위해 이 정보를 이용해라!"


이는 주로 개발자들이 가끔하는 실수인데, 이렇게 소스코드에

노출을 하면 안되거든요!

그냥 편하게 사이트 관리하자고 저렇게 한건데, 

이렇게 해두면 해커들이 바로 사이트를 점령할수 있습니다!


이 밑에 있는 건

<body>태그 안에 있는 내용인데

단서가 될만한게 없죠?


없다고 하는 것 보다

실제로 보여드릴려고

가져와 봤습니다!


원래 소스코드에서 찾는 것들이 주로

(1) 자바 스크립트의 <script>태그

(2) 특정함수가 있다던지

(3) 주석이 존재한다던지


이러한 것들을 찾아야 하는데 뭐 아무것도 없었습니다!



다시 돌아와서 <head> 태그 안에서 찾은 정보를 통해서 


Username: support

Password: x34245323

을 각각 아래와 같이 입력하였습니다!



그리고 바로 sign in 버튼을 누르니!

아래와 같이 뜨네요!

Hi support! 

Your privilege is support, may be you need better privilages!!


해석을 해보니......

"support아 반갑다

너의 권한은 support이고, 아마 이것보다 더 나은 권한이 필요한듯 싶다! "



그래서 저는 아 뭐지..?!

문제가 easy라서 

이게 끝인줄 알았는데

왜 아니지? 

뭐가 잘못됐지?


생각을 곰곰히 해봤습니다


어디서 놓친게 있을까

(1) robots.txt 파일은 없을거 같고(이렇게 쉬운문제인데)

(2) sql injection인가? (힌트인 정보가 아무것도 없는데...)

(3) 쿠키 값인가 (세션 아이디나, 다른 쿠키 값 바꿔야하나..?)

(4) burpsuite로 통신 확인해 봐야하나 (쿠키가 아니면, burpsuite로 request나 response 봐야지)




그래서 일단 쿠키 값을 확인하려고

editthiscookie라는 크롬 웹스토어에 있는

툴을 클릭해보니 

role에 support이라고 적혀있네요!


내가 할 수 있는 (역할)role이 

support이면


내 role을 admin으로 바꾸면

내가 admin 권한을 얻게되나?



그래서 저는 여기에다가 admin을 

입력하고 나서

적용을 누르고 다시 새로고침을 했습니다!



그랬더니!

위와 같이 flag가 뜨네요!


(1) 주석에서 힌트를 얻고 로그인 한후 -> (2) 쿠키값 변조

이것만 하면 풀리는 문제였습니다!


고생하셨습니다!

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

[WEB] I am Legend  (0) 2019.02.25
[Web] Encrypted Database  (0) 2019.02.24
[WEB] Cool Name Effect  (0) 2019.02.23
[WEB] This is Sparta 문제풀이  (0) 2019.02.14