본문 바로가기

hacking

제 3회 SSTF 후기 기업에서 주최하는 행사에 참석을 한 것은 이번이 3번째입니다. 맨 처음은 인코어드 회사에서 주최했던 에너지 해커톤이었고, 두 번째는 테조스에서 주관했던 블록체인 캠프였습니다. 각 행사마다 배울 수 있었던 내용이 많았습니다. 에너지 해커톤에서는 처음으로 다른 사람과 협업하여 작업하는 방법과 IoT 기술을 처음으로 다루어 보았고, 블록체인 캠프에서는 블록체인이 어떠한 것이고 이를 활용한 앱을 만드는 작업을 배울 수 있었습니다. 이 과정에서 함수형 언어인 Ocaml을 배웠습니다. SSTF에 참가한 이유는 포럼이 어떻게 진행되는지 알고 싶기도 했고 보안과 관련된 내용을 배워보고 싶어서였습니다. 해당 포럼의 경우 8월 20일 날 진행되었으나 글을 다듬어 한다는 생각으로 미루다가 1달 정도 지나서 올라오게 되었습니..
suninatas 공지사항 글쓰기 성공 Suninatas에 있는 공지사항에 게시글 작성 성공 2018. 06. 16.
제로보드의 위험성 아직까지 제로보드를 홈페이지로 사용하는 경우가 있는데, 그 경우 매우 위험하다는 것을 보여주기 위해 찍은 영상이다. 영상에 나온 버전은 비공식 패치버전인 pl9인데, 다른 버전의 경우에서도 비슷한 취약점이 있다. 이외에도 XSS 취약점도 있기 때문에 제로보드를 사용하는 것은 해커에게 '사이트를 해킹해주세요'라고 말하는 것과 같다. 실제 운영되고 있는 사이트에 대해서는 시도해보지 않았지만 따로 패치를 해주지 않았다면 똑같이 취약점이 있을 것이라고 생각한다. 참고로 제로보드 뿐만 아니라 다른 CMS를 사용하고 있더라도 업데이트를 해주지 않는다면 해당 취약점을 이용해 공격이 가능하므로 업데이트는 지속적으로 해주어야 한다. 특히 웹쉘이 업로드 되었다면 이미 그 서버는 해커의 개인 서버가 되었다고 해도 무방하기 ..
[Webhacking.kr] Problem 03 350점에 해당하는 문제이다. 이 문제의 경우에는 적당한 Guessing을 통해 Injection Vector를 찾아서 공격을 할 수 있는지 여부를 묻는 문제이다. 문제 링크 문제 페이지를 보면 아래와 같은 네모네모 로직 문제를 볼 수 있다. 이 부분은 툴도 사용할 필요가 없을 정도로 간단한 문제이기 때문에 금방 풀 수 있다.네모 칸을 클릭하면 검정색으로 바뀌게 되고, 그래서 그 검정색이 네모네모 로직의 조건을 만족하도록 해주면 된다. 그래서 이것을 풀어주면 아래 사진과 같다. 그래서 이렇게 모양을 만들어주고 아래 'gogo'버튼을 누른다. 그러면 아래와 같이 이름을 입력할 수 있는 창이 뜬다. 여기에 아무런 이름이나 넣고 'write' 버튼을 누른다.그러면 아래와 같이 이 때까지 내가 입력했던 이름들을..
[Webhacking.kr] Problem 02-2 앞의 내용에 이어서 계속 하도록 하겠다. 공격할 부분을 발견했으니 이 부분을 이용해서 Blind SQL Injection으로 비밀번호 정보를 가져오면 된다. 원래는 한 글자를 추출하는데 최적화된 방법으로 하더라도 7번의 비교를 해야지만 알아낼 수 있는데, 이 경우에는 약간 편법을 사용하면 1번의 시도로 1글자를 가져오는 것이 가능하다. 앞의 내용을 살펴 보면 공격할 부분이 from_unixtime이라는 함수를 사용하기 때문에 특정한 숫자에 문자의 ascii code를 추가적으로 더해준 값을 넣어주면, 이것을 다시 timestamp값으로 변경하고 특정한 숫자를 빼주게 되면 바로 그 문자의 ascii code를 얻을 수 있으므로, 1번의 시도로 1글자를 가져오는 것이 가능하다. Blind SQL Inject..
[Webhacking.kr] Problem 02-1 2번 문제는 500점에 해당하는 문제로 "홍길동 문제"라고 불리는 악명 높은 문제이다. 문제 링크 이 문제의 경우 소스코드의 취약점을 찾고 그것을 통해서 데이터를 빼내는 방법을 알아내어야 한다. 문제 이름이 "홍길동 문제"인 이유는 아래와 같이 문제 사이트에 들어가면 홍길동이 명상을 하고 있는 모습을 볼 수 있기 때문이다. 먼저 메인 페이지의 소스코드를 열고 내용을 뒤지다보면 admin/이라는 수상한 링크를 볼 수 있다. 그래서 이 링크가 관리자 페이지로 갈 수 있는 링크라고 생각을 하여 직접 링크에 접속을 하였더니 admin 페이지라고 하면서 password를 입력해야만 접근이 가능하도록 되어 있었다. 물론 이것을 BruteForce로 일일히 대입을 해서 공격을 할 수는 없기 때문에 패스워드에 대한 정..
[Webhacking.kr] Problem 01 200점에 해당하는 문제이다. PHP코드를 분석할 수 있는지 여부를 묻는 문제라고도 볼 수 있다. 문제 링크 1번 문제를 보면 아래와 같은 검정 화면을 볼 수 있다. 'index.phps'라는 문구가 쓰여 있기 때문에 거기에 힌트가 있을 것이라고 생각하고 index.phps로 들어갔다. 들어가는 방법은 페이지에 있는 "index.phps"를 누르거나 혹은 주소창에 직접 치고 들어가는 방법이 있다.[사진 1] index.phps 페이지를 보면 아래 사진처럼 php로 쓰여진 소스코드를 확인할 수 있다. 간단하게 소스코드에 대해서 설명하면, 먼저 user_lv라는 쿠키가 있는지 확인하고, 쿠키 정보가 없으면 user_lv에 1값을 넣고 새로고침을 하는 부분이 첫 번째 부분이다.두 번째 부분인 if(eregi(..
[Webhacking.kr] 0. webhacking.kr 소개 Webhacking.kr은 Oldzombie님이 직접 운영하는 웹해킹 사이트로 상당히 많은 웹해킹 문제를 가지고 있는 사이트이다. 그리고 도메인 이름이 'Webhacking'인 만큼 문제도 오직 웹해킹에 대한 문제만 올라와 있다. 일단 홈페이지를 접속해보면 아래와 같은 단순한 UI를 가진 화면을 볼 수 있다.접속하기 일단 아래에 글자의 인코딩이 깨지는 것은 신경쓰지 말자.... 아무래도 사이트가 만들어진지 오래되었기 때문에, 인코딩이 utf-8로 설정되어 있지 않아서 깨지는 것이고, 딱히 이것은 깨져도 별 상관이 없기 때문에 그냥 무시하도록 하자. 그런데 이 사이트를 보면 'Login'버튼만 있고, 'Join'버튼은 존재하지 않는다. 즉, 어디엔가에 회원가입을 할 수 있는 버튼이나 링크가 숨겨져 있다는 ..