[suninatas] Game 07
2022. 5. 16. 22:55
Study/Web Hacking
문제: http://suninatas.com/challenge/web07/web07.asp Do U Like girls?라는 문구가 눈에 띈다. 문제 페이지에 아이유 사진과 아래에 있어 잘 보이진 않지만 윤아 사진, 그리고 그 사이에 YES버튼이 하나 있다. YES버튼을 눌러봤다. 내가 너무 느리다고 한다. 느리다는 게 무얼 말하는 걸까.... 개발자 도구를 열어봤다. 주석에 힌트가 숨겨져있었다. Faster and Faster가 힌트였다. 위에서 내가 너무 느리다는 경고창은 정말 내가 너무 느리다는 걸 뜻하는 거였다... 어떻게하면 form을 빨리 submit할 수 있을까? submit 버튼은 너무 아래쪽에 있기 때문에 버튼을 클릭하는 방법은 사용할 수 없다. 대신에 자바스크립트를 사용해서 form을 ..
[suninatas] Game 06
2022. 5. 16. 21:52
Study/Web Hacking
문제: http://suninatas.com/challenge/web06/web06.asp board에 5개의 글이 있다. 가장 먼저 Hint를 보자. suninatas의 글을 읽어보라고 되어 있다. Writer가 suninatas인 작성글을 확인해보자. password를 입력하는 input과 그 아래에 DB문법으로 작성된 쿼리가 있다. 이걸보니 Blind SQL Injection이 생각났다. Blind SQL Injection은 쿼리의 참과 거짓의 판별을 통해 원하는 결과를 도출해내는 공격 방법이다. 일반적으로 사용하는 여기서 우리가 입력하는 내용이 pwd에 들어가게 될 듯하다. 그 점을 고려해서 제일 흔하게 쓰이는 ' or 1=1#을 입력해봤다. 해당 쿼리는 못 쓰게 막혀있다. 아마 쿼리를 이루는 문..
[suninatas] Game 05
2022. 5. 16. 21:23
Study/Web Hacking
문제: http://suninatas.com/challenge/web05/web05.asp 어떤 form 하나가 있고 그 아래에 "Check Key Value"가 적혀있다. 어떤 key value를 확인하라는 걸까, 개발자 도구를 열어봤다. 가장 먼저 보이는 건 주석 처리된 힌트였다. 힌트는 12342046413275659 숫자열이었고, 이 값을 input에 입력해보았지만 아무일도 일어나지 않았다. 좀 더 도움이 될만한 걸 찾기 위해 소스를 살펴보다가 table에 숨겨진 script를 발견했다. 난독화가 되어 있는지 지금 상태론 무슨 코드인지 알아보기 힘들어보인다. 코드 난독화를 해제해보자. 아래 링크에서 코드 난독화를 해제할 수 있다. 더보기 https://beautifier.io/ 그 결과 위와 같은..
[suninatas] Game 04
2022. 5. 10. 19:54
Study/Web Hacking
문제: http://suninatas.com/challenge/web04/web04.asp Point를 입력하는 form이 하나 있고 그 아래에 User-Agent를 표시해주고 있다. form의 Plus버튼을 클릭하면 Point의 값이 1씩 증가한다. 계속 누르다보면 "I like the SuNiNaTas" 팝업창이 뜨면서 값이 25에서 더이상 커지지 않는 다는 것을 알 수 있다. 개발자 도구를 열어보니 주석으로 힌트가 숨겨져 있는 것을 발견했다. 일단 point를 50으로 만들어야 Authkey를 획득할 수 있을 것 같다. 하지만 point는 25에서 더 커지지 않았다. SuNiNaTaS가 이에 대한 힌트가 될 것 같다. 아까 위에서 point를 25에서 더 증가시키려고 할 때 팝업창에 SuNiNaTa..
[suninatas] Game 03
2022. 5. 10. 19:42
Study/Web Hacking
문제: http://suninatas.com/challenge/web03/web03.asp 문제 페이지에 "Write articles in Notice Board!"라는 문자열이 크게 적혀있다. Notice Board에 글작성을 하라는 의미같다. suninatas의 Notice board로 들어가봤는데 글작성 버튼이 존재하지 않았다. 비슷한 Notice랑 게시판도 확인해봤는데 자유게시판에는 글작성을 할 수 있었다. 자유게시판에서 글작성 버튼을 누르고 URL을 확인해보면 게시판 아래에 write로 더 내려간 것을 알 수 있다. 똑같이 Notice에서도 write에 접근했더니 Notice의 글작성 페이지로 들어올 수 있다. 여기서 아무글이나 작성하면 Authkey를 획득할 수 있다.
[suninatas] Game 02
2022. 5. 10. 19:27
Study/Web Hacking
문제: http://suninatas.com/challenge/web02/web02.asp ID와 PW를 입력하는 폼이 있다. 개발자 도구를 열어보니 form태그 아래에 힌트가 주석처리 된 것을 볼 수 있었다. id랑 pw가 같아야 한다는 힌트가 있었다. script도 포함되어 있었는데, id랑 pw가 같으면 폼이 submit되지 않는 것을 알 수 있었다. id랑 pw가 같아야 Authkey를 얻을 수 있을 텐데 script 때문에 폼이 submit 되지 않으니 이를 우회하거나 script를 변경해야 할 것 같다. 여기서는 console을 사용해서 form을 submit 시켜보겠다.먼저 ID와 PW에 같은 값을 입력해놓고, console을 열자.그리고 console창에서 직접 form을 submit시키는..
[suninatas] Game 01
2022. 5. 10. 19:02
Study/Web Hacking
문제: http://suninatas.com/challenge/web01/web01.asp 써니나타스 1번 문제이다. 문제에 접속하면 화면으ㅔ 코드를 보여주고 있다. 처음엔 PHP인줄 알았으나 알고보니 ASP라는 코드였다. ASP는 한 번도 접해본적이 없어 함수를 검색해가면서 풀었다. Replace(str, first, second)는 str에 주어지는 스트링에서 frist를 second로 대치시키는 함수이다. 따라서 Replace(str, "a", "aad")는 str에서 "a" → "aad"로 바꾸게 된다. 마찬가지로 Replace(result, "i", "in")은 "i" → "in"로 바꾼다. Mid(str, pos, length)는 str에서 pos 인덱스에서부터 length의 길이만큼 가져오는..
[HackCTF] Guess me
2022. 5. 2. 20:12
Study/Web Hacking
Web: Guess me 문제: http://ctf.j0n9hyun.xyz:2030 php 소스코드가 주어져있다. 비밀코드를 맞히면 플래그를 획득할 수 있는 문제다. 소스코드를 하나씩 분석해보자. $filename = 'secret.txt' 파일이름 변수에 'secret.txt'가 들어있다. extract($_GET); $_GET 배열의 키값을 변수로 만들어준다. ex) $_GET['filename'] => $filename if($guess) $guess로 설정된 변수가 있는지 검사한다. $secretcode = trim(file_get_contents($filename)); $filename에서 공백을 지운 내용을 $secretcode에 담는다. if ($guess === $secretcode) $g..
[HackCTF] 보물
2022. 5. 2. 16:13
Study/Web Hacking
Web: 보물 문제: http://ctf.j0n9hyun.xyz:2025 Page 숫자 중에 비밀이 있고 그곳에 보물을 숨겨놨다고 한다. 아래 3개의 Page 버튼을 누르면 페이지 하단에 특정 문자열이 나타난다. 이 문자열은 Page 1, Page 2, Page 3 버튼 마다 달랐다. 문제 페이지를 더 살펴보다가 page 파라미터가 url에 있기에 url에서 파라미터 값을 버튼에 없는 다른 숫자로 설정해봤다. ex) 4, 5, 6, ... 그 결과 버튼에 있는 값 외에도 특정 문자열이 출력된다는 것을 알 수 있었다. 페이지 숫자의 비밀에 보물을 숨겨놨다고 하니 page의 값을 하나씩 증가시키다 보면 flag값이 나올 것 같다. Brute force 공격을 해야하니 파이썬으로 exploit 코드를 작성해보..