dreamhack - Couch DB

양병수·2022년 10월 15일
0

individual

목록 보기
1/4
post-custom-banner

Couch DB 에 대해서

  • NoSQL DB 중 하나인 Couch DB 는 키와 값이 하나의 쌍을 이루는 / JSON 형태의 데이터를 저장한다.
  • HTTP 기반의 서버로 동작하여 HTTP 를 사용해 요청을 받고 처리한다.
  • 일반적으로 _ 문자로 시작하는 URL, JSON 필드 등은 특수 구성 요소를 나타낸다.
    • /_all_dbs 데이터베이스 목록을 반환
    • /{db}/_all_docs 지정한 데이터베이스에 포함된 모든 도큐먼트(?)를 반환한다.
    • /{db}/_find 지정한 데이터베이스에서 JSON 쿼리에 해당하는 모든 도큐먼트(?)를 반환한다.

Couch DB 공격 기법

  • Node JS 에서 Couch DB 를 사용할 때는 아파치에서 개발한 nano 패키지를 사용한다.
  • nano 패키지는 get 함수를 사용해서 데이터를 조회하거나 가져올 수 있다.
  • get 함수의 입력값의 대한 검증이 부족할때 공격자는 특수구성 요소인 _all_docs, _find 등을 통해 원하는 명령을 내릴 수 있다.

실습

Dreamhack NoSQL-CouchDB 실습문제

  • curl 명령어를 통해 문제 url 에 HTTP 요청을 보낸다.
    • curl 옵션:
      • -X HTTP 메소드 선택
      • -H 요청 헤더에 추가하고자 하는 내용
      • -d POST 메소드 보내고자 하는 데이터
    • undefined 값을 만드는 방법
    • JSON 형식
post-custom-banner

0개의 댓글