목록정보보안 (5)
Study for me
Path Traversal(경로 조작)은 문자 그대로 파일의 경로를 조작하여, 주어진 권한 외 파일에 접근할 수 있는 취약점 입니다. 사용자의 입력 데이터가 적절한 검증 없이 URL에 직접적으로 사용될 경우 의도하지 않은 임의의 경로에 접근할 수 있는 Path Traversal 취약점이 발생하게 됩니다. 취약점이 발생하는 이유 일반적으로 사용자가 웹 서버에 파일을 요청 할 때, URL을 통해 파일의 이름을 전달하고 서버는 그 입력값으로 파일을 찾아 클라이언트로 보냅니다. Path Traversal 취약점은 이러한 특징을 악용하여 공격을 수행합니다. 공격자가 서버에 경로 표현 문자를 조합하여 파일을 요청하면 서버 운영체제는 넘겨받은 입력값의 경로 표현 문자로 인해 지정된 디렉토리 외의 파일도 공격자에게 보..
이번 문제는 게임 점수를 조작해보는 것 같습니다. 31337점에 도달해야 플래그를 얻을 수 있는데, 일반적인 방법으로는 얻을 수 없습니다. f12를 눌러서 소스를 확인해보겠습니다. 자바스크립트 문제 같습니다. head 태그 가장 밑에 난독화된 자바스크립트가 있는 것을 확인할 수 있습니다. 정상적인 방법으로는 읽을수 없으므로, beautifier.io 사이트를 이용해서 읽을 수 있게 변환시킵니다. function secureGame() { var _0x8618x2 = this; var _0x8618x3 = true; function _0x8618x4() { _0x8618x3 = false; return true }; function _0x8618x5() { return _0x8618x3 }; this['k..
문제를 확인해보면 아이디와 패스워드 칸이, 그리고 로그인 버튼이 있습니다. 소스 버튼을 눌러서 이 페이지의 소스를 확인해봐야 할 것 같습니다. php 문제 같습니다. php를 활용해서 풀려고 했으나, 아래 주석 부분에 blocked accounts라고 쓰인 곳이 눈에 띄어서 확인해보기로 했습니다. 계정이 막혔다고 나옵니다. 이 부분을 우회하면 문제를 풀 수 있을 것 같아서 코드를 자세히 살펴보겠습니다. 정직하게 id칸에 guest나 blueh4g라고 칠 경우 로그인을 할 수 없게 설정해둔 것 같습니다. MySQL에서는 쿼리를 전송할 때 대소문자를 구별하지 않습니다. 즉 guest나 Guest나 GUEST나 쿼리 상으로는 모두 같은 뜻입니다. 하지만 저 코드에서는 오로지 소문자로 된 guest만 예외처리를..
Cross-site Scripting. 웹 해킹에서 가장 기본적이고 널리 쓰이는 공격 기법 중 하나로, 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말합니다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 의도치 않은 행동을 실행시키거나 쿠키나 세션 같은 민감한 정보를 탈취하게 됩니다. 크게 두 가지 공격 방식이 있는데, Stored XSS 기법과 Reflected XSS 기법이 있습니다. 서로 공격 방식이 다른데, 이번 포스팅에서는 두 가지 공격 기법에 대해 모두 다뤄보도록 하겠습니다. Stored XSS Stored XSS는 악성 스크립트가 서버 내에 존재하는 데이터베이스 또는 파일 등의 형태로 저장되어 있다가 사용자가 저장된 악성 스크립트를 조회하는 순간 발..
거의 모든 애플리케이션은 애플리케이션 내에서 처리되는 데이터를 관리하기 위해 데이터 저장소(데이터베이스)에 의존합니다. 이 데이터는 주로 사용자 계정, 권한, 애플리케이션 구동 설정 등과 관련돼 있으며, 핵심 애플리케이션 로직을 구동합니다. 일반적으로 애플리케이션은 다른 애플리케이션 사용자와 관련된 데이터를 처리할 때 데이터 저장소에 접근하는 모든 유형에 대해 일반적인 권한 수준을 사용합니다. 공격자가 데이터 저장소를 사용해서 다른 데이터를 검색하거나 수정할 수 있게 애플리케이션의 상호 작용을 방해할 수 있다면 공격자는 일반적으로 애플리케이션 계층에서 제공하는 데이터 접근을 통해 모든 통제를 무시할 수 있습니다. 이번 포스팅에서는 데이터베이스에 접근하는 가장 널리 알려진 공격 방법인 SQL Injecti..