README가 있는 이상 먼저 읽어보고 싶어서 클릭해 봤습니다.




password를 입력해야 할것같은 창이 나왔고, 친절하게 SQL문도 보여줍니다.

nIdx가 '3'이고 입력한 password가 맞으면 szPwd를 보여주는 구문입니다.


이걸보니 Sql Injection을 해야할 것이라고 생각됬습니다.



우선 기본적으로 1을 입력해 봤을때 False라는 구문이 나왔습니다. 틀린 password겠죠?



Sql Injection구문 중에 고인물인 1' or 1='1로 입력해봤더니 No! hacking!이라는 alert창이 하나 나왔습니다. password 값을 입력할때 필터링을 하는 문자가 있는거 같습니다.





'='을 넣고도 확인해보니 '='이라는 문자는 필터링 규칙으로 되어있는거 같습니다.

그밖에도 몇가지가 필터링 규칙으로 정해져 있었습니다.


그래서 '='을 대신할 수 있는 like구문으로 injection을 해봤습니다.


nIdx='3'이라는 구문과 nIdx like '3'은 동일한 역할을 수행합니다.

(nIdx의 I부분이 i의 대문자인줄 모르고 l로 몇번 수행해봤던...)



구문이 성공하여 Congratulation!!과 함께 auth_key값을 줍니다.


그리고 확인을 눌러보면 접근권한이 없다고 나오게됩니다.




이리저리 보다가 cookie값을 확인해 봤는데 auth%5Fkey라는 cookie가 생성되어있었습니다.

%5F는 '_'값이고 value로는 '?????'가 들어가 있었습니다.


cookie 값으로 어떤 사용자인지 확인할 수 있기에 획득한 'suninatastopofworld!'를 넣어보고 해봤지만

똑같이 접근권한이 없다고 합니다.


value값이 인코딩 되어있는 점과 게시물중 reference! 게시물을 보니 md5 해쉬를 해야할것 같습니다.




md5로 해쉬한 값을 cookie에 넣어주고 다시해보니 게시물을 확인 할 수 있었습니다.


여기서 얻은 auth_key 값으로 문제 인증을 해봐도 안되고 게시물의 내용인 'KeyFinding^^'으로 인증하려고해도 실패해서 고전 했습니다..


그러던 중 소스보기를 해보니 'KEY_HINT'라는 이름의 form이 있었고 

action으로 "Rome's First Emperor" 값이 있어서 인증창으로 가서 해봐도 소용이 없었습니다.


그리고 구글에 검색해보니 "Augustus"가 로마의 최초 황제라고 하여 인증했더니 성공했습니다.

(이렇게까지 해야했나요? ㅜㅜ)




'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_18 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_14 [FORENSIC]  (0) 2018.08.23
SuNiNaTaS_8 [WEB]  (0) 2018.08.21
SuNiNaTas_2 [WEB]  (0) 2018.08.20
SuNiNaTas_1 [WEB]  (0) 2018.08.17

+ Recent posts