본문 바로가기

Suninatas

suninatas 공지사항 글쓰기 성공 Suninatas에 있는 공지사항에 게시글 작성 성공 2018. 06. 16.
[All Clear] suninatas 사이트 링크 : http://suninatas.com/ 클리어 상태 : ALL CLEAR 풀이 정리 링크 : http://humit.tistory.com/category/Hacking/-%20suninatas.com 풀이 정리 상태 : 1~6번 까지 보호 상태(이미지 없이 단순 텍스트 정리) -> 나중에 이미지를 첨부해서 좀 더 다듬을 필요가 있음.
[Web] Level 6 문제 링크 : http://suninatas.com/Part_one/web06/web06.asp 게시판의 글을 읽는데 3번째 글의 경우에는 암호가 걸려져 있다. 그리고 암호를 입력하는 창이 뜨는데, 문제를 보면 자연스럽게 SQL Injection 문제라는 것을 알 수 있다. =와 #(주석) 문자를 필터링하기 때문에 1' or '1'>'0 방식으로 우회할 수 있다.그러면 경고창에서 "Congratulation!! auth_key is suninatastopofworld!"라는 메시지를 볼 수 있고, 추가적으로 경고창이 하나가 더 뜨는데 인코딩이 깨져서 어떤 글자인지는 알 수 없었다. 인증창에 suninatastopofworld!를 입력해보았지만 잘못된 인증키라고 나온다. 따라서 게시글의 내용을 읽어야 된다..
[Web] Level 5 문제 링크 : http://suninatas.com/Part_one/web05/web05.asp 소스코드 보기를 하면 아래와 같은 자바스크립트가 있는 것을 확인할 수 있다. eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('g l=m o(\'0\',\'1\',\'2\',\'3\',\'4\',\'..
[Web] Level 4 문제 링크 : http://suninatas.com/Part_one/web04/web04.asp Hint를 보면 50점이라는 것과 SuNiNaTaS가 힌트라는 것을 알 수 있다.plus 버튼을 누르면 값이 1씩 증가하는 것을 알 수 있고, 값이 25이상인 경우에는 "I like the SuNiNaTaS browser!"라는 경고창이 뜬다.따라서 User-Agent를 SuNiNaTaS로 설정해주면 잘 작동할 것이라고 추측을 하고 아래의 Python code를 작성해서 실행했다.실행 결과 Auth Key를 얻을 수 있었다. from urllib import request from bs4 import BeautifulSoup def main(): COOKIE = "ASPSESSIONIDASDAQDDD=****..
[Web] Level 3 문제 링크 : http://suninatas.com/Part_one/web03/web03.asp Notice Board에 글을 쓰는 것이 목표이다.먼저 Notice Board의 목록을 보는 주소가 http://suninatas.com/board/list.asp?divi=notice 이고, 글 내용을 보는 주소가 http://suninatas.com/board/view.asp?idx=469&num=40&page=1&divi=notice 라는 것을 통해서 글을 쓰는 링크가 http://suninatas.com/board/write.asp?divi=notice 라고 유추할 수 있다.따라서 이 링크로 들어간 다음에 제목과 글 내용을 아무렇게나 입력하고, 제출버튼을 누르면 경고창을 통해서 Auth Key가 나타나..
[Web] Level 2 문제 링크 : http://suninatas.com/Part_one/web02/web02.asp 소스코드 보기를 한 후에 주석을 보면 id와 pw가 Join으로 같다는 것을 알 수 있다. 그래서 ID에 Join을 넣고, PW에 Join을 넣고, 버튼을 눌렀더니 "You can't join! Try again."이라는 경고창이 뜬다. 소스코드를 분석해보니 제출 버튼을 누르게 되면 chk_form()이라는 자바스크립트 함수가 호출이 되고, 여기에서 id와 pw가 같은지를 체크해서 같으면 경고창을 띄우도록 되어 있다. 따라서 이 자바스크립트를 우회해야 한다.툴을 쓰지 않고 간단하게 해결하기 위해서는 아래와 같은 html 파일을 생성하도록 한다. 이렇게 만들어진 파일을 실행해서 제출 버튼을 누르게 되면 Auth..
[Web] Level 1 문제 링크 : http://suninatas.com/Part_one/web01/web01.asp VBScript에 대한 함수의 사용법에 대해서 알고 있는지 여부를 물어보는 문제이다.Replace의 문법은 Replace(string, find, replacewith)으로 string 문자열에서 find부분을 replacewith로 모두 바꾼 것을 리턴하는 함수이다.Mid의 문법은 Mid(string, start, length)으로 string 문자열에서 start에서부터 length 길이만큼을 잘라낸 결과를 리턴하는 함수이다.마지막으로 &의 경우에는 문자열을 붙여주는 역할을 한다.따라서 ami를 입력하면 result가 admin이 되어서 pw를 출력하게 된다. 답 : ami authkey : k09rsog..