Write-up/Suninatas 5

써니나타스 [Suninatas] web 5번 문제 (write-up)

5번 문제를 확인해 보니 키 값을 확인하라는 문장과 함께 입력폼 하나가 보였다. 일단 이 입력폼에 아무 값이나 입력을 해 보았는데 값이 전달되는 느낌은 들지만, 아무런 변화가 생기지 않았다. 소스코드를 한 번 확인 해 보기로 하고, 개발자 도구에서 소스코드를 확인해 보았다. 소스코드를 확인해 보니 중간에 태그 안에 jsp의 eval()함수와 함께 소스코드가 읽기 힘들게 되어있었다. 이렇게 소스코드가 어렵게 되어있는데 잘 몰라서 구글링을 해보니까 jsp가 난독화가 되어진거라고 했다. 여기서 eval()함수는 문자열을 자바스크립트 코드로 인식하여 실행을 해주는 함수이다. 이를 이용해서 코드를 분석하기 어렵게 난독화를 만들기도 하는데 여기에서는 eval 함수가 이 난독화 된 문자열을 자바소스코드로 변환해 주는..

Write-up/Suninatas 2019.09.12

써니나타스[Suninatas] web 4번 문제 (write-up)

web 4번에 해당하는 문제를 보니 0 이라고 나타나 있는 점수와 Plus 버튼, User-Agent와 AuthKey가 나와 있다. 우선 plus 버튼을 눌러 point를 올려보았다. 하지만 25부터 "I like the SuNiNaTas Broswer!"이라는 창과 함께 point가 올라가지 않았다. 혹시나 하는 마음에 소스코드를 한 번 확인 해 보았다. 아니나 다를까 힌트가 주석처리가 되어 있었다. 포인트를 50점으로 만들어야하고, 이전에 "SuNiNaTas Broswer!" 이라는 말과 문제에 나와있는 User-Agent를 보고 User-Agent를 SuNiNaTaS로 바꾸면 AuthKey를 얻을 수 있겠다 라고 판단하였다. 크롬 확장프로그램 중 User-Agent Switcher이라는 도구를 사용..

Write-up/Suninatas 2019.08.03

써니나타스 [Suninatas] web 3번 문제 (write-up)

web 3에 해당하는 문제는 위와 같이 "Write articles in Notice Board!" 라고 검은색 바탕에 흰색 글씨로 쓰여진 웹 페이지가 나온다. 혹시나 해서 소스코드를 보았는데 아무것도 없고, main과 back 버튼 밖에 없었다. 즉, notice 게시판에 글을 쓰면 풀리는 문제인 것 같다. 위에 문제에서 나와있는대로 notice 게시판에 글을 쓰기 위해서 해당페이지로 이동하니 글을 쓸 수 있는 버튼이 없었다. free 게시판에 들어가 보니 write 버튼이 있었고, 버튼을 누르니 글을 쓸 수 있는 페이지로 이동하였다. 하지만 여기 문제에서 요구하는 것은 free 게시판에 글을 쓰는 것이 아닌 notice 게시판에 글을 써야하는 것이다. 이 문제에서는 URL을 잘 봐야 한다. 각각 fr..

Write-up/Suninatas 2019.08.03

써니나타스 [Suninatas] web 2번 문제 (write-up)

web 2번째 문제에서는 ID와 PW입력하는 로그인 폼이 있다. 이거 외에는 나와있는게 없어서 소스코드를 확인 했다. 소스코드를 확인 해 보다가 태그로 이루어진 코드를 발견을 하였다. ID와 PW가 같을 경우 다시 시도하라는 창이 뜨게 된다는 것을 확인 할 수 있었다. 그러면 ID와 PW를 다르게 해야하는 걸까? 소스코드를 더 보면 주석으로 힌트가 있었고, id와 pw가 같아야 join이 된다는 것을 확인하였다. 즉, ID와 PW가 같아야 Authkey값을 알 수 있는 것이다. 하지만, ID와 PW에 같은 값을 넣어주면 문제가 말한 것 처럼 authkey를 얻을 수 가 없는 것을 확인 할 수 있다. 따라서 문제가 원하는 것은 ID와 PW가 달라야 함과 동시에 같아야 한다는 것이다. BURP SUITE 기..

Write-up/Suninatas 2019.08.02

써니나타스 [Suninatas] web 1번 문제 (write-up)

1번 문제에 해당하는 문제로 이 해당 웹 페이지의 서버 사이트 스크립트 언어를 보여주며 문제가 시작 된다. 결과 값이 admin이 되도록 값을 입력하면 Authkey값을 얻을 수 있다. 해당 페이지의 확장자를 확인 한 결과, 이 언어가 .asp라는 확장자 명을 가진 언어라는 것을 알 수 있었다. asp언어에 사용된 함수는 총 2개 replace와 mid 함수이다. Replace(str, "str1", "str2") 해당 str에서 str1 문자열을 str 문자열로 치환 MID(str, a1, a2) 해당 str의 a1번째 자리에서 a2 자리수 만큼의 문자열을 반환 따라서 이를 바탕으로 소스코드를 한줄 한줄 대충 해석 하면, result = replace(str, "a", "aa") -> a를 aad로 치..

Write-up/Suninatas 2019.08.02