본문 바로가기

SuNiNaTaS14

[Suninatas] Forensic 28 풀이 _ Zip File Format 파일을 다운로드한 후에 압축 파일을 풀려고 하면 비밀번호를 입력하라고 한다. 힌트에 brute-force 공격은 필요하지 않다고 하니 파일 구조를 살펴보자. 파일이 3개 있으므로 위와 같은 구조가 되어 있을 것이다. Local File Header 와 Central Directory 부분의 Flags에 09 08이 들어가 있어 암호화가 안되어 있지만 있는 걸로 인식하는 것 같다. 09 08을 00 00으로 모두 변경시키면 암호화가 모두 풀릴 것이다. 압축 파일들을 보면 *이 붙어있어 암호화가 되어 있다는 것을 알 수 있다. 09 08을 모두 00 00으로 변경하자. *이 모두 사라진 것을 확인할 수 있다. Am_I_Key2.txt와 Am_I_Key3.txt에는 Dummy가 들어있다. Am_I_Key.zi.. 2020. 11. 12.
[Suninatas] Forensic 26 풀이 _ Frequency analysis 띄어쓰기와 .을 지웠다고 한다.. Frequency analysis 를 보니 빈도 분석을 이용하여 치환 암호를 해독하는 문제인거 같다. import collections string = "szqkagczvcvyabpsyincgozdainvscbnivpnzvbpnyfkqhzmmpcqhzygzgfcxznvvzgdfnvbpnjyifxmpcqhzygbpnoyaimygbzgngbvmpcqhzygcbpinnbzqndicgxhiztozgcfmpcqhzygbpnjyifxeagzyimpcqhzygbpneagzyidicgxhiztozgcfmpcqhzygcgxcoyaibzqnvyabpsyincggcbzygcfmpcqhzygszqzvbpnozivbvyabpsyincgozdainvscbnibyjzgcqnxcfcbcgzvaeag.. 2020. 11. 12.
[Suninatas] Forensic 21 풀이 _ Steganography 자 때문에 AuthKey가 안보인다.. ㅠ 이미지를 다운받아서 분석을 시작해보자. HxD로 열고 jpg의 푸터인 FF D9를 검색하니 밑에 또 다른 데이터가 있었다.. 아마도 JPG 밑에 다른 데이터들을 숨겨 놓아 Key를 넣었을 것 같다. 맨 밑에서 부터 헤더인 FF D8 FF E1 까지 복사하여 사진들을 추출해 보았다. 5장 정도 더 있는거 같았는데.. 이미 AuthKey가 다 보여서 그만 했다. Solution Key is H4CC3R_IN_TH3_MIDD33_4TT4CK 2020. 11. 8.
[Suninatas] Forensic 19 풀이 _ Bin to string [Forensic 19] 2진수를 문자열로 변경을 해보자. string = """ 0100111001010110010000110101010001000110010001000101 0110001000000100101101000110001000000100101001001100 0100010101011010010001010101001001001011010100100100 1010001000000101001001000101010101010010000001001011 0100011001010101010100100101000000100000010110100100 1010001000000101001000100000010110000100011001000110 0101010100100000010101010101001001.. 2020. 11. 8.
[Suninatas] Forensic 16 풀이 _ Ascii to string [Forensic 16] 음.. Ascii 코드인거 같다. python을 통해 ascii to string 을 만들어 보자. 출력값을 보니 base64로 디코딩을 한번 더 해야 할 것 같다. AuthKey는 VeryVeryTongTongGuri라고 한다. 2020. 11. 7.
[Suninatas] Forensic 15 풀이 _ Meta Tag [Forensic 15] 너는 음악을 좋아하니 ? 파일에 AuthKey가 있다고 한다. Play The Music을 누르면 음악이 재생이 된다. 다운로드 하여 분석을 진행해 보자. 파일 속성의 자세히쪽에 가보니 AuthKey가 바로 나왔다.. 2020. 11. 7.
[Suninatas] Forensic 14 풀이 _ John The Ripper 사용 [Forensic 14] suninatas의 비밀번호를 알아야 할 것 같다.. Download를 클릭하면 evidence.tar를 다운 받을 수 있고, 안에는 passwd 파일과 shadow 파일이 있다. passwd 파일은 리눅스 계정 정보를 담은 파일이고, shadow는 패스워드를 저장하는 파일이다. 왼쪽이 passwd, 오른쪽이 shadow 파일 내용이다. (notepad++로 열어 보았다.) root:$1$9L2L0oTwd:12751:0:99999:7 : : : ① ② ③ ④ ⑤ ⑥⑦⑧⑨ ① 필드 1 : 사용자명 ② 필드 2 : 패스워드 ③ 필드 3 : 패스워드 파일 최종 수정일 ④ 필드 4 : 패스워드 변경 최소일 ⑤ 필드 5 : 패스워드 변경 최대일 ⑥ 필드 6 : 패스워드 만료 경고기간 ⑦ .. 2020. 11. 7.
[Suninatas] Web 07 풀이 (Requests모듈) [Web 07] _python requests 모듈 이용 이번에는 아이유 사진이 너무 크게 나와있어서 캡쳐를 하지 않았다..ㅠ 문제를 보면 맨 위에 Do U Like girls? 가 있고 아이유 사진, 중간에 YES 버튼, 맨 아래에 유나 사진이 있다. 힌트로는 Faster and Faster가 있고, YES 버튼을 누르면 Fail Your Too slow 라는 경고창이 뜬다..ㅠ 아무래도 페이지 로딩이 되고 바로 버튼을 눌러야 하는것 같다. python으로 코딩을 해보자. Requests 모듈 정리 import requestsURL='http://suninatas.com/challenge/web07/web07.asp'headers = {'Content-Type': 'application/json; ch.. 2019. 8. 16.
[Suninatas] Web 06 풀이 [Web 06] Hint 에 들어가면 suninatas의 글을 읽으라고 한다. suninatas의 README를 보면 위와 같은 팝업창이 뜨고 밑에는 쿼리문, 빈칸에 값을 입력하고 확인을 누르면 fail이 뜬다.. 다른곳에 힌트가 있나 싶어 다른 게시물을 봤는데 reference!에는 md5 암호화 사이트가 있고 Wating과 열공열공에는 알 수 없는 말만 있다. sql injection을 해봐야 겠다.. 기본적으로 몇개의 문자열은 필터링이 되고, 몇개는 안되는것 같다. '(싱글쿼터)를 막지 않아 입력을 하면 Worng Query가 뜬다. 이것을 이용하면 될 것 같다. 안막혀 있는 문자열을 확인해 보면, or ' - 등이 있다. 이것을 이용하면 된다. 문자열에 ' or '1' < '2' -- 를 .. 2019. 8. 15.
[Suninatas] Web 05 풀이 [Web 05] 빈칸에 어떠한 값을 넣고 Check를 눌러도 아무런 반응이 없다.. 페이지 소스를 보자. 스크립트 부분을 보면 eval(function(p,a,c,k,e,r) ... 이런식으로 작성이 되어있는데, 자바스크립트 코드가 페이지 소스에 보이지 않도록 난독화를 해놓은 것이다. 인터넷 사이트를 찾아보다 간단하게 자바스크립트 난독화를 풀수있는 해독화 사이트를 찾았다. https://www.strictly-software.com/unpack-javascript 이 사이트에 들어가 저 스크립트 부분을 넣고 Unpack 버튼을 누르면 해독화된 코드가 나온다. 코드를 보면 PASS함수에 n을 넣는다.. n의 값을 유추 하려다가 힌트에 있던 값이 생각났다. 이 값을 PASS에 넣으면 문자열이 반환된다. 나온.. 2019. 8. 15.
[Suninatas] Web 04 풀이 [Web 04] User-Agent는 현재 내가 사용하는 브라우저의 정보이다.Plus 버튼을 누르면 Point가 올라간다. 먼가 이상해서 페이지 소스를 보니 힌트에 Point를 50까지 만들어야 한다고 하고 SuNiNaTaS라는 글이 써져있었다.. 50까지 노가다를 하는줄 알고 Plus를 계속 누르다 보니 Point가 25에서 올라가지 않고, SuNiNaTaS 브라우저를 좋아한다는 경고창이 뜬다.. ㅠ 이 문제도 2번과 같이 Burp Suite나 Fiddler를 이용하여 정보를 변경해야한다. 하.. 위의 사진처럼 User-Agent: 부분을 SuNiNaTaS로 변경해 주면 Point가 올라간다. Burp Suite의 Repeater 기능을 이용하여 계속 보내주면 어느새 50 Point가 넘어가고 Auth.. 2019. 8. 15.
[Suninatas] Web 03 풀이 [Web 03] 문제에 들어가면 이렇게 떡하니 Notice 게시판에 글을 쓰라고 한다.. 뭔소린가 싶어 페이지 소스코드를 보니깐 아무 것도 없다.. 진짜로 Notice 게시판에 글을 써야하나보다.. ㅠ main을 눌러 Notice 게시판에 가보자. 우선 Notice 게시판의 URL은 /board/notice이다. 여기서도 아무리 찾아도 어떻게 글을 쓰는 것인지 알 수 없다.. ㅠ 혹시나 다른 게시판은 글쓰는 기능이 있는지 싶어 Free 게시판에 들어갔는데 다행히 write 버튼이 있었고 URL은 /board/free/write다. 이 URL로 Notice 게시판의 글쓰기는 /board/notice/write라고 추측할 수 있다. URL에 suninatas/board/notice/write를 입력하면 글을.. 2019. 8. 15.
[Suninatas] Web 02 풀이 [Web 02] 문제에 들어가면 ID 값과, PW 값을 넣고 Join을 눌러도 아무 변화가 없고, ID와 PW에 같은 값을 입력하면 You can't join! Try again 경고창이 뜬다. F12를 눌러 페이지 소스를 보자... ㅠ Join 버튼의 태그다. 버튼을 누르면 chk_form() 함수가 실행된다. script 부분의 chk_form()함수를 보자... ㅠ id값과 pw값을 받아와 같으면 경고창을 띄우고 아니면 submit()함수로 넘어간다. 그리고 script 태그 아래를 보면 힌트로 id = pw 라고 되어있다..? 즉, if( id == pw ) 를 통과한뒤 Burp Suite나 Fiddler를 이용하여 id값과 pw값을 같게 만들면 될 것 같다.. 하.. 맨 아래에 보이는 것처럼 i.. 2019. 8. 14.
[Suninatas] Web 01 풀이 [Web 01] 문제를 보면 빈칸에 문자열을 넣고 Check 버튼을 누르면 Request("str")에 의해 문자열이 str에 저장이 된다. 함수 들을 설명하면 Replace(str,"a","aad") 함수는 str에 저장되어 있는 문자열중 a를 aad로 변경한다. 예를들어 문자열 ad를 입력하면 Replace(str,"a","aad")의 결과값은 aadd가 된다. Mid(result,2,2) 함수는 result에 저장되어 있는 문자열의 2번째 부터 2글자를 자른다는 의미이다. 예를들어 abcd의 경우 bc 만 자르게 된다. result1 & reslut2 는 result1 + result2와 같다. 예를들어 result1=adm, result2=in 이면, result1&result2 의 결과값은 ad.. 2019. 8. 14.