문제 동작 중인 서비스가 정상적으로 동작하지 않았고, 서비스 로그가 정상적으로 전송되지 않음을 확인하였다. 파일 접근, 편집을 위해 쉘에서 작업을 시도했으나 Read-only file sytsem 에러가 나오면서 아무 작업도 되지 않는다. 시스템 용량 확인 결과 사용 용량이 100% 인 것을 확인할 수 있었고 OS가 시스템보호를 위해 RO 시스템으로 전환한 것 같았다. 해결 1. 파일 시스템을 RW(Read-Write) 권한으로 다시 마운트 한다. sudo mount -o remount,rw /dev 2. 재부팅 sudo reboot 3. 용량 확보 불필요한 로그파일 정리 및 파일을 삭제하여 용량을 확보한다. [용량 순 디렉터리 정렬] du -h (경로) |sort -h 해당 경로에 있는 모든 파일과 폴..
XSS(Cross Site Scripting) XSS는 공격자가 삽입 또는 제공한 악의적인 스크립트가 사용자의 브라우저에서 실행되는 취약점이다. 악의적인 스크립트 코드가 삽입된 입력 값을 서버가 적절한 검증 절차 없이 반환하기 때문에 발생한다. 공격 방법과 우회 방법, 공격 목적이 다양해 자주 사용되는 공격이기 때문에 서비스에 따라 정확한 보안 대책을 세워야 한다. XSS로 인해 발생되는 피해는 다음과 같다. 사용자의 개인정보 탈취 Keylogger 형태의 스크립트를 사용하여 키보드 입력 값 탈취 사용자의 쿠키정보 탈취 Document.cookie를 사용하여 해당 사용자의 쿠키 값 탈취 피싱 사이트로 강제 이동 Location.href등을 사용하여 페이지 강제 이동 악성코드 다운로드 및 실행 악성코드 다..
Blind SQL Injection 공격 원리 1. SQL Injection 공격 가능 여부 확인 2. 데이터 개수 확인(Table, Column, Data) 3. 데이터 문자열 1개씩 추출 4. 데이터 1개 추출 5. 모든 데이터 추출 6. 원하는 데이터 추출 논리 연산자를 이용해 True인 쿼리문과 False인 쿼리문의 결과를 비교하여 정보를 추출하는 공격입니다. AND 연산자를 사용해 논리가 맞지 않을 때 출력되는 데이터와 참일 때 출력되는 데이터를 비교하여 공격할 수 있습니다. 공격 과정은 다음과 같습니다. 취약 코드 구현 SQL Injection에 사용했던 관리자 로그인 페이지에서 실습한다. 관리자 로그인 php 코드는 gomguk.tistory.com/58 에서 확인할 수 있다. 공격 실습 N..
RDS(Relational Database Service) AWS 환경에서 관계형 데이터베이스를 제공하는 서비스이다. PostgreSQL, MySQL, MariaDB, ORACLE 등 다양한 벤더의 데이터베이스를 마이그레이션하거나 복제하는 것을 지원한다. 본 포스트에서는 AWS RDS(AuroraDB)와 Flask의 웹 애플리케이션을 연동하는 것을 목표로 한다. 개발 스택은 다음과 같다. [개발 환경] Python 3.7.3 Flask [AWS 서비스] AWS Codecommit(CI/CD) Elastic Beanstalk(앱 배포) AuroraDB 1. RDS 시작하기 베어메탈에 OS를 구성하고 DB 엔진을 설치하고 운영에 걸리는 시간에 비하면 빠른 시간 내에 DB의 설정이 완료된다. 다만, DB in..
1. 들어가기 클라우드에 관심이 높아지면서 클라우드 보안에도 중요성이 강조되고 있다. AWS 프리티어를 이용하여 본인이 직접 환경을 구축해서 실습할 수 있는 워게임이 있어 풀이를 해보았다. 2. 실습 준비 ServerlessGoat는 OWASP에서 제안하는 10가지 클라우드 보안 요소를 집약시켜놓은 Playground이다. 공식 Github는 아래와 같다. github.com/OWASP/Serverless-Goat OWASP/Serverless-Goat OWASP ServerlessGoat: a serverless application demonstrating common serverless security flaws - OWASP/Serverless-Goat github.com AWS사이트에서 제공하는..
더보기 https://docs.min.io/docs/ MinIO | The MinIO Quickstart Guide MinIO Quickstart Guide MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, ana docs.min.io MinIO의 소프트웨어 정의 제품군은 초기부터 클라우드 기반으로서 퍼블릭 클라우드, 프라이빗 클라우드 및 에지에서 ..
UNION SQL Injection 취약 게시판 구현 및 공격 실습 1. 공격 원리 1. SQL Injection 공격 가능 여부 확인 2. 컬럼 수 추출 3 . 각 컬럼 데이터형 추출 4. 데이블 목록 추출 5. 원하는 테이블의 컬럼명 추출 6. 원하는 데이터 추출 SQL에서 Union은 두 개의 쿼리문에 대한 결과를 통합하여 하나의 테이블로 보여주게 하는 키워드이다. 정상적인 쿼리문에 Union 키워드를 사용하여 인젝션에 성공하면, 원하는 쿼리문을 실행할 수 있게 된다. Union SQL Injection은 이전 Select 문과 Union Select 문의 칼럼 수가 동일해야 한다는 특징과 칼럼은 각 순서별로 동일한 데이터 형이어야 한다는 특징을 이용한다. 공격 과정은 다음과 같다. 2. 공격 실습..
읽기 전에! PC 환경 : Ctrl + F(찾기) 모바일(사파리) : 하단 중앙 공유 버튼 + 페이지에서 찾기 이용하면 키워드로 찾을 수 있습니다. 항산화물질 노화방지와 항암작용으로 유명한 항 산화물질은 활성산소가 세포를 공격해 노화나 유전자 변화 야기 넘치는 활성산소를 우리 몸이 감당하지 못할 때 구원투수 → 항산화물질 식물성 화학물질(카로티노이드, 비타민 C, 비타민 E) 카로티노이드 당근에서 처음 분리되어 카로티노이드 비타민 A로 변화되어 , 지용성이므로 날보다 익혀먹는 것, 삶거나 찌는것보다 기름으로 조리하는 것이 효과 베타카로틴 알파카로틴, 베타-크립토잔틴과 함께 몸속에서 필요한 양만 비타민 A로 전환 암 발생과 성장을 대폭 줄이며 피부, 폐, 자궁, 위장관등 상피 조직을 보호 비타민E처럼 나쁜..
SQL Injection 1. 공격 원리 SQL Injection는 코드 인젝션의 한 기법으로 클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격 방법이다. 문법적 의미가 있는 싱글쿼터(‘)와 주석(#)을 이용해 완성된 쿼리문을 주입해 공격자는 로그인 우회, 데이터 추출 등의 악의적인 행동을 취할 수 있다. SQL Injection의 공격 종류는 다음과 같다. 종류 대상/특징 Union SQLi UNION 절을 이용하여 두 개 이상의 쿼리를 묶어 원하는 정보를 DB에서 추출하는 공격 기법 Error Base SQLi 데이터베이스의 문법에 맞지 않은 쿼리문 입력 시 반환되는 에러 정보를 기반으로 공격하는 기법 Blind SQLi True인 쿼리문과 False인 쿼리문 삽입 시 반환되..
Preview 모의해킹은 중요 시스템의 정보를 탈취, 조작, 파괴 등이 가능한지 파악하는 취약점 진단을 수행한다. 체크리스트 기준으로 항목별 취약점 점검하는 업무를 수행하기 위해 위협이 있을 수 있는 웹사이트를 구현하고 공격자의 입장에서 침투테스트를 실시한다. 진단 항목을 올바르게 이해하고 프로젝트 수행 시 더 나은 결과물을 산출하기 위함이다. 자신만의 웹서버를 가지고 있고 그 서버가 입력 값에 따라 어떤 에러를 내는지 이해한다면 웹 취약점의 원리파악이 쉬워질 것이다. 구현 환경 웹 서비스를 개발 / 구축한 환경은 다음과 같다. 웹 취약점 진단 항목을 정확하게 이해하기 위해 웹 페이지 내 에러메시지 출력 설정이 되어 있으며 서버측 소스코드 및 디버깅 정보가 포함될 수 있다. 환경은 APM(Apache2,..