분류 전체보기
-
[CTF-D] Wota[+] Security [+]/CTF-D 2020. 7. 26. 04:12
Wota 문제 문제에는 압축파일이 들어있고, 위 사진에 있는 패스워드로 풀 수 있다. 압축파일 한개와 사진 파일 한개가 있다. ke0n9.zip파일은 암호로 잠겨있었다. 아마 암호를 찾아내야할 것이다. 사진파일은 스테가노그래피는 아니었다. 그럼 HxD 에디터로 열어보자. 헤더에 뭔가 단서가 될만한 것들이 보인다. 사진 속성에는 플래그 냄새가 나는 문자열이 적혀있었다. 혹시 Base64 Decoding이 아닐까 하며 하나씩 해독해 보았다. 주제를 해독해 보았더니 알 수 없는 문자가 나온다. :v 를 보아 아무래도 base64디코딩은 맞는 듯 하다. 인도네시아 언어 였다. 운이 없다고 한다. 그 아래 있는 태그 값을 변환해 보았다. Coba lagi 라는 문자열로 해독되었다. 아마 이 역시도 인도네시아 언어..
-
[CTF-D] 호레이쇼가 플래그를 보며...[+] Security [+]/CTF-D 2020. 7. 26. 03:54
파일을 받아보자. 파일명이 zoomIn_3a3f6e35934021eca75b0abde70333a6.jpg.jpg 이다 확장자가 중첩되어있는 것을 보아, 아마 파일안에 파일이 있을 것이다. HxD 에디터로 열어보면 헤더가 3개 연달아 이어져있다. 첫번째 헤더를 떼어내 보자. 알 수 없는 괴상한 사진이 있다. 그럼 두번째 헤더까지 떼어내 보자. 오! 좌우반전된 문자 사진이 있다. 이게 플래그일 것이다. INS{MAGNIFICATION_X100_FOR_STARTERS}
-
OTP 의 원리: Google Authenticator and Authy[+] Security [+]/인증과 암호학 2020. 7. 23. 04:19
OTP(One time Password; 일회성 비밀번호)는 2FA(Two Factor Authentication; 이중 인증)중 하나로서 강력한 보안기법이다. 해커가 어렵게 사용자 계정에 접속해도, OTP가 설정되어있다면 6자리의 숫자를 맞춰야한다. 그 숫자는 주기적으로 변하며, 각각의 계정마다 상이하다. 6자리의 숫자는 무차별 대입 공격이 가능한듯 해 보이지만, 인증 횟수 제한과, 30초 간격으로 변하는 암호는 사실상 브루트 포싱이 불가능하다. (물론 계정을 미리 알고있으면 해킹이 가능하다.) 하지만 Google Authenticator 와 Authy 이 두 모바일 OTP는 서로 바꿔 쓸 수 있다. 즉! Google Authenticator를 쓰고 10분 뒤 Authy를 써도 문제가 없다. 이게 어떻..
-
해시 : SHA-1 해시 구조[+] Security [+]/인증과 암호학 2020. 7. 22. 14:35
OTP 알고리즘의 동작원리에 대해 기술하려 하였으나, 그 속에 HOTP, TOTP, HMAC, 등등 배경지식을 요구하는 것이 많아 글을 분리하여 작성하도록 하였다. 이 글은 그 첫번째 OTP의 기본이 되는 HASH 알고리즘을 분석하고자한다. HASH는 암호화 기법으로서, 임의의 데이터에 대해 고정된 길이의 데이터로 반환한다. 해시는 단방향 알고리즘이다. 평문(Plain Text) 에서 암호문(Cipher Text)으로 변환하는 과정은 가능하지만, 암호문에서 평문으로 되돌리는 과정은 어렵다 이러한 특성에 힘입어 다양한 목적에 맞게 설계된 해시 함수가 존재하며 자료구조, 캐시, 중복 레코드 검색, 오류 검출 등 다양한 분야에서 유용하게 사용된다. 해시함수의 종류로는 MD5, SHA계열 해시함수 등이 있는데,..
-
[CTF-D] 원래 의미가 없는 것들도...[+] Security [+]/CTF-D 2020. 7. 21. 08:39
뭔가 의미심장한 내용의 문제다. 그저 텍스트로만 이루어져있다. 특별한것이 딱히 없다. 뭐지.. 세로드립일까? 아닌것같다. ! . - 같은 특수 문자들이 부자연스럽다, 그리고 또 대문자와 소문자를 혼용하여 쓰여있다. 이게 단서가 되지 않을까 싶다... ..는 아니었다. 찾아보니 스팸 스테가노그래피라는 기법이었다. 아래의 사이트에서 복호화할 수 있다. https://www.spammimic.com/decode.shtml spammimic - decode www.spammimic.com
-
[CrackUs] LEVEL 20[+] Security [+]/CrackUs 2020. 7. 21. 02:03
LEVEL 20! 이제 마지막 문제다. 두근두근 코드를 살펴보자! 더보기 동일한 SQL Injection 문제지만 여러가지를 막아놓았다. 우선 length! 이는 like '_ _ _ _' 로 길이를 알아낼수 있을 것이다. substr 또한 mid로 우회하면 된다. 좋아! 그럼 뚫어보자! 하지만 도무지 이해가지 않는 부분이 있다. 아래의 쿼리는 4초 정도 지연되는 것을 보아 재대로 동작하지만.. 이는 그렇지 못하다.. 동작을 안한다.. 한시간동안 삽질의 삽질 끝에 문득 든 생각이, 혹시 데이터베이스에 id = admin 계정이 없는 것이 아닐까? 그러고 보니 ID 변수는 UNION 필터링이 없다. union을 이용한 칼럼 부르트 포싱으로 풀어야 할 것같다. (이게 맞는 풀인지 모르겠다..) 테이블명(pl..
-
[CrackUs] LEVEL 19[+] Security [+]/CrackUs 2020. 7. 20. 22:46
19번 문제! 더보기 이번 문제는 쿼리로 no를 입력받는 문제다. play_sql19번 테이블은 계정이 1번부터 30번까지 총 30개 있는듯 하다. if( '인젝션 쿼리' , no=1,1) 로 Blind SQL Injeciton 을 수행할 수 있을 듯 하다. 테이블에 pw길이가 9 인 계정이 있음은 자명하다. 다만... 그게 어떤 계정인지 불확실 하다. 아마 lengh(pw)가 9인 계정을 여러개 파놓을 수도 있다. 선배님께서 말씀하신 함정이 이게 아닐까 싶다. 그렇다면 length(pw)가 9 인 계정을 정확히 짚고 Blind SQL Injection을 가할 필요가 있다. 이로서 no = 1 의 length(pw)가 9 임을 정확히 알았다. 이제는 이전까지 해왔던 방법과 동일하다. 가즈아! 하지만 길이..