본문 바로가기

분류 전체보기

(63)
[주통기반] 로컬 웹 서버 취약점 찾기 (정보 누출) 이번에는 주요정보통신기반시설 분석 웹 서버 취약점 9번째 정보 누출입니다. 정보 누출 취약점은 웹 서비스 이용 시 불필요한 정보가 누출되는 것을 말합니다. 웹 시스템에서 주요정보(개인 정보, 계정 정보, 계좌 정보 등)가 노출되거나 불필요한 정보가 사용자에게 노출되는 것입니다. 정보 누출로 인해 추가적인 공격의 정보를 제공해줄 수 있습니다. 1. 웹 서버 정보 노출 1) 웹 사이트에 접속합니다. 2) 웹 서비스 이용 패킷을 확인합니다. 요청 시 응답에 웹 서버의 정보가 노출되며 실제 웹 서버와 동일한 것을 확인할 수 있습니다. Apache/2.4.52 (Ubuntu) 웹 서버의 종류와 버전 심지어 운영체제까지 확인이 가능합니다. 이 정보들을 이용해 해당 버전의 알려진 취약점을 통해 2차 공격이 가능해집니..
[주통기반] 로컬 웹 서버 취약점 찾기 (디렉터리 인덱싱) 디렉터리 인덱싱은 웹 애플리케이션 이용 시 웹 브라우저에 디렉터리를 요청하면 특정 디렉터리의 리스트가 출력되는 취약점입니다. 특정 디렉터리의 초기 페이지(index 파일)가 디렉터리에 존재하지 않을 경우 발생하게 됩니다. 디렉터리 인덱싱 취약점은 디렉터리 내 파일 리스트가 출력되기 때문에 시스템의 구조가 노출되고, 중요한 정보가 포함된 파일이나 설정 파일 등이 노출될 수 있는 위험이 있습니다. 해당 정보등을 통해 중요한 정보가 노출되고 추가적인 공격에 대한 정보가 제공될 수 있습니다. 1. models 1) 웹 브라우저에 models 디렉터리를 검색합니다. 위 파일들은 게시글과 유저를 어떻게 관리할지 작성된 파일이기 때문에 노출 시 추가적인 공격에 대한 정보를 제공할 수 있습니다. 2. data 1) 웹..
[주통기반] 로컬 웹 서버 취약점 찾기 (SQL Injection) SQL Injection 은 웹에서 사용자의 입력 값으로 SQL 쿼리를 완성할 경우 데이터베이스에 접근하여 데이터를 처리할 때 발생할 수 있습니다. 사용자의 입력 값을 제대로 검증하지 않고 SQL 쿼리를 완성할 경우 사용자의 입력으로 악의적인 SQL 쿼리가 완성되게 하여 악의적인 데이터베이스 접근 및 조작할 수 있습니다. 1. 게시글 검색 기능 Category 게시글 검색 시 사용자의 입력으로 특정 게시글을 검색하는 SQL 쿼리를 생성합니다. 이 때 컬럼에 해당하는 파라미터에 SQL 문을 넣어 참과 거짓에 대한 응답 결과가 다른 것을 확인할 수 있습니다. 그러면, Blind SQL Injection을 통해 데이터베이스의 정보를 획득할 수 있습니다. 1) 게시글 페이지 접속 2) 게시글 검색한 후 검색 요..
모바일 앱 해킹 에필로그 모바일 앱 해킹을 공부하기 전 어떻게 공부하면 좋은 지와 기본 지식 정도를 정리하려고 합니다. 모바일 앱 해킹 vs 모바일 해킹 먼저, 모바일 앱 해킹과 모바일 해킹은 다르다는 점을 알아야합니다. 기본적으로 착각할 수 있는 휴대폰을 감염시키고 제어하는 등의 해킹은 모바일의 운영체제에 대한 공격으로 모바일 해킹입니다. 모바일 앱 해킹은 우리가 다운받는 앱 등, 운영체제 위에서 동작하는 프로그램에 대한 취약점을 찾는 것입니다. 모바일 앱 해킹의 취약점은 크게 두가지 서버측과 앱 단말기 측 취약점입니다. 서버측 취약점은 웹 애플케이션 취약점과 마찬가지로 앱 이용 시 서버가 앱에서 보낸 요청을 처리하면서 발생하는 취약점입니다. 예를 들어, 모바일 앱에서 로그인을 실시할 때 로그인 처리를 하기위해 서버와 통신을 ..
웹 해킹 공부 일기장 12 - 2 (인가 취약점) 일단 인가란? 특정 권한을 부여하고 권한이 있는 사용자만 행동을 할 수 있게 하는 것입니다. 그럼 인가 취약점이란? 권한이 없는 행동을 할 수 있는 취약점을 말합니다. 인가 취약점의 대표케이스를 확인해보면서 알아보겠습니다. 1. 주석처리 & CSS display: none 으로 접근 제한 관리자만 해당 버튼을 이용할 수 있다고 합니다. 페이지를 확인해보니 해당 버튼을 주석처리하여 일반 사용자에게는 보여지지 않게 처리한것 같습니다. 해당 주석을 지우면 버튼을 보여지게 할 수 있을 것 같으니 주석을 지워보겠습니다. 주석을 지워주니 화면에 관리자만 사용 가능한 버튼이 나옵니다. 클릭 시 사용자에게 제공되지않은 행동을 할 수 있습니다. 이것뿐만 아니라 비슷하게 CSS를 사용하여 해당 태크를 안보이게 할 수 있는..
웹 해킹 공부 일기장 12 - 1 (인증 취약점) 이번 주차를 마지막으로 대표적인 웹 해킹 기법 정리를 마치도록 하겠습니다. 이때까지 공부했던 것을 알아보면 1. SQL Injection: SQL을 삽입하여 공격자가 원하는 SQL문 을 실행시키는 공격 2. XSS: 스크립트를 삽입하여 클라이언트 측에서 공격자가 원하는 스크립트를 실행시키는 공격 3. CSRF: 피해자가 서버로 공격자가 원하는 요청을 보내게하는 공격 4. File Upload: 공격자가 원하는 파일을 서버에 업로드할 수 있는 공격 5. File Download: 서버에서 공격자가 원하는 파일을 다운로드 할 수 있는 공격 간단하게 이런 공격이었다는 것만 정리해보았습니다. 이번에 할 것은 인증&인가 취약점입니다. 인증 취약점은 초반에 간단하게 하고 넘어갔는데 대표 케이스를 통해 다시 알아보겠..
웹 해킹 공부 일기장 11 - 2 (파일 다운로드) 파일 다운로드 취약점은 간단합니다. 파일을 다운로드할 때 임의의 원하는 파일을 다운로드하는 것입니다. 파일 다운로드 기능에서 만약 파일 경로를 받아 다운로드를 실행시켜 준다면 파일 경로에 ../ 로 디렉토리를 이동하여 원하는 파일을 다운로드 하는 것입니다. 파일 다운로드 취약점을 발견한다면 가장 먼저해야할 일이 소스 코드 다운로드입니다. 소스 코드를 확인할 수 있다면 공격자는 서버의 숨겨진 취약점들을 찾을 수 있습니다 1. 사진과 같이 파일 다운로드가 경로를 통해 해당 경로에 있는 파일을 다운로드 시켜주는 것 같습니다. 파라미터로 받는 경로를 조작하면 지금 다운로드해주는 기능의 download.php 파일의 소스코드를 확인할 수 있습니다. 이렇게 다른 곳에 있는 임의의 파일을 다운로드 할 수 있는 취약점..
웹 해킹 공부 일기장 11 - 1(파일 업로드) 저번 시간에 파일 업로드 취약점에 대해 알아보았습니다. 파일 업로드 취약점은 공격자가 임의의 파일을 업로드할 수 있는 공격입니다. 보통 웹쉘 파일을 업로드하여 서버에 원하는 명령을 내릴 수 있게합니다. 그리고 가장 중요한 것이 서버에서 실행을 할 수 있는 파일이어야 하며 공격자는 파일을 실행하기 위해서 해당 파일의 경로를 알고 있어야합니다. 저번 시간 마지막에 .jpg로 끝나는 파일은 절대 실행시킬 수 없다고 말했었습니다. 그렇기 때문에 webshell.php.jpg 파일을 업로드한다면 절대로 실행시킬 수 없습니다. 하지만 몇가지 특수한 상황에서 jpg 파일을 업로드 시 실행시킬 수 있는 방법이 있습니다. 아마, 인터넷에서 보신 jpg 파일 업로드로 웹쉘을 실행시키는 방법 중 하나일 것입니다. 1. we..