Code::War Game/suninatas

써니나타스 (Suninatas) 6번 문제 풀이

태군 코드 2018. 7. 10. 16:47
반응형

워게임 사이트 써니나타스 6번 문제를 풀어 보도록 하겠습니다. 문제의 해답을 보시기 전에 직접 풀어 보시기 바랍니다.




써니나타스 6번 문제의 화면입니다 1번 ~ 5번까지 글들이 있습니다. 일단 하나씩 들어가보도록 하겠습니다.



1번 Hint 들어가보시면 읽기 써니나타스 쓰기라는 글만 있고 별다른 내용은 없습니다.



2번 reference! 들어가보시면 URL주소가 하나 나옵니다. 사이트는 들어가보지 않았지만 사이트 주소만 봤을때는 디코딩, 인코딩 해주는 사이트 같습니다. 이기능도 필요할것 같아 저는 버프스위트를 켜놓도록 하겠습니다.


■ Burp Suite(버프스위트) 메뉴 Decoder



3번 README 들어가시면 팝업창이 하나뜨는데 밑에 보시면 SQL 구문이 있는것을 알수 있습니다. 다 살펴본뒤에 SQL Injection 구문을 넣어보도록 하겠습니다.



4번은 별거 없이 글만 있습니다.



5번도 별다른거 없이 글만 있습니다.


그럼 이제 다 살펴 봤으니 문제를 한번 풀어 봐야겠죠? 먼저 아까 SQL 구문이 있던 곳에서 SQL Injection 시도를 해보도록 하겠습니다.


SQL Injection

- 사용자의 입력 값으로 웹 사이트 SQL 쿼리가 완성되는 취약점을 이용하며, 입력 값을 변조하여 비정상적인 SQL 쿼리를 조합하거나 실행하는 공격, SQL Injection 공격 성공시 데이터베이스를 비정상적으로 조작이 가능합니다.


꼭 허용된 테스트 사이트에서 실습하시기 바랍니다. 법적인 처벌을 받을수도 있습니다.


 문자

설명 

 '

문자 테이터 구분기호 

; 

쿼리 구분 기호 

--, # 

해당라인 주석 구분 기호 

/* */ 

* 와 */ 사이 구문 주석 


SQL Injection 인증우회를 위한 공격 쿼리 패턴은, 쿼리의 결과를 무조건 참 (TRUE)로 만들 수 있는 쿼리라면 무엇이든 그 패턴이 될 수 있습니다.


' or 1=1--

' or 1 like 1 --

' or 1=1#

' or 2>1 --


등이 있으며, 보통 취약점 점검등을 할때에는 이러한 패턴들을 다 외우지 못하므로 따로 파일로 정리를 해놓으면 편리하게 사용할수 있고, 버프스위트를 통해서도 빠르게 사용할 수 있습니다. 



SQL Injection 인증우회를 성공한 모습입니다. 하지만 확인을 눌러보니 접근 권한이 없다는 팝업 창이 뜨는 것을 확인할수 있습니다.


여기서 auth_key is suninatastopofworld! 힘들게 찾은 값이니 기억을 해둬야 겠죠?


접근 권한이 없다는 것은 보통 쿠키값에 해당이 됩니다. 저는 한번 씩 둘러 보기 전에 미리 버프스위트로 값을 잡아 봤습니다.



쿠키값을 보시면 키값이 인코딩되어 있는것을 확인할수 있습니다. 이것을 디코딩을 하기위해 아까 사이트를 알려준것 같습니다. 하지만 저는 프록시 툴인 버프스위트에서 디코딩을 해보도록 하겠습니다.



디코딩을 하게 되면 auth_key=???? 그럼 쿡시 툴을 이용하여 쿠키값을 아까 찾은 값으로 바까 보았지만 반응을 하지 않습니다.


■ Burp Suite(버프스위트) Proxy 설정 방법


처음 쿠키값에서 key 값이 인코딩 되어 있었으니 auth_key is suninatastopofworld! 조금 전에 찾은 키값을 인코딩 해보도록 하겠습니다.



사이트 주소가 MD5여서 그냥 처음부터 MD5로 인코딩을 했습니다. 이제 인코딩된 값을 쿠키값에 넣어 보도록 하겠습니다.



저는 쿡시툴바를 이용하였습니다. 쿡시툴바 설정 방법은 위에 프록시 설정 방법에 보시면 있습니다. 쿡시툴바를 여시면 위와 같은 화면이 나오는데 위에 보이시는 key 값을 MD5로 인코딩한 값으로 바까주신후 Set을 해주시고 다시 SQL Injection 을 해주시면 됩니다.



그럼 위와 같은 페이지로 넘어가는데 또 키를 찾으라는 메시지가 있습니다. 여기까지 들어 온거면 소스에 힌트가 있을까 싶어 소스를 보도록 하겠습니다. 일단 저는 소스보기를 제일 먼저 하기 때문에....



KEY_HINT 를 보면 로마 최초의 황제라고 되있는데 일단 누군지 몰라 인터넷을 검색해서 찾았습니다.



답을 입력해주시면 됩니다.  이거 찾기 귀찮다고 정답을 보지 마시고 검색해보시기 바랍니다. 그리고 이문제는 다시한번 차근차근 풀어보시기 바랍니다.







반응형