NoSQL Injection
·
Web/Web Hacking
NoSQL Injection이란?Not Only SQL의 약자인 NoSQL은 비관계형 DBMS를 뜻하며 이러한 비관계형 DBMS에서 사용되는 쿼리를 조작하여 인증을 우회하거나 데이터베이스의 내용을 유출시키는 공격이 NoSQL Injection입니다. 이전에 SQL Injection 포스팅에서 언급하였듯 DBMS에는 테이블 형식으로 데이터가 저장되는 관계형 DBMS와 키-값 형태로 데이터가 저장되는 비관계형 DBMS가 있습니다. 아래는 관계형 DBMS인 MySQL과 비관계형 DBMS인 MongoDB의 쿼리문을 비교한 것입니다.두 쿼리 모두 userid가 admin이고, password가 keshu인 데이터를 불러오는 쿼리이지만, 구조가 다른 것을 알 수 있습니다. mysql에서는 sql문법으로 명령형 쿼리..
비관계형 DBMS
·
Web/DataBase
DBMS란?데이터 베이스를 관리하는 애플리케이션으로 데이터베이스에 새로운 정보를 기록하거나, 기록된 내용을 수정하고 삭제하는 역할을 합니다. DBMS는 크게 관계형 DBMS인 RDBMS와 비관계형 DBMS인 NoSQL으로 나누어져 있습니다.비관계형 DBMS (RDBMS)비관계형 DBMS는 테이블 형식이 아닌 키-값의 형태로 데이터를 저장하는 DBMS입니다. SQL을 사용하지 않으며, 단순 검색과 같은 복잡하지 않은 데이터를 저장할 때 유용합니다. DB마다 사용하는 문법이 다 다르기 때문에 사용하는 데이터베이스마다 다른 쿼리가 생성됩니다. NoSQL에는 MongoDB, CouchDB, Redis 등이 있으며 이번 포스팅에서는 MongoDB에 대해 설명해 보겠습니다. 관계형 DBMS에 대한 내용은 다른 포스..