School/Security

    [ Web Hacking ] No-SQL Injection

    [ Web Hacking ] No-SQL Injection

    비관계형 데이터베이스 RDBMS는 SQL을 사용해 데이터를 조회 및 추가 그리고 삭제할 수 있었습니다. NoSQL은 SQL을 사용하지 않고 복잡하지 않은 데이터를 저장해 단순 검색 및 추가 검색 작업을 위해 매우 최적화된 저장 공간인 것이 큰 특징이자 RDBMS와의 차이점입니다. 이 외에도, 키-값을 통해 데이터를 저장하는 차이점이 존재합니다. RDBMS는 SQL이라는 정해진 문법을 통해 데이터를 저장하기 때문에 한 가지의 언어로 DBMS를 사용할 수 있었습니다. 반면에 NoSQL은 Redis, Dynamo, CouchDB, MongoDB등 다양한 DBMS가 존재하기 때문에 각각의 구조와 사용 문법을 익혀야 한다는 단점이 있습니다. MongoDB 기본적인 연산자 종류입니다. 그냥 외웁시다. Redis R..

    [ Web Hacking ] - SQL Injection

    [ Web Hacking ] - SQL Injection

    SQL SQL은 RDBMS의 데이터를 정의하고 질의, 수정등을 하기 위해 고안된 언어입니다. SQL은 구조화된 형태를 가지는 언어로 웹 어플리케이션이 DBMS와 상호작용할 때 사용됩니다. SQL은 사용 목적과 행위에 따라 다양한 구조가 존재하며 대표적으로 아래와 같이 구분됩니다. DDL 데이터를 정의하기 위한 언어입니다. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행합니다. DML 데이터를 조작하기 위한 언어입니다. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/삭제 등의 행위를 수행합니다. DCL 데이터베이스의 접근 권한 등의 설정을 하기 위한 언어입니다. 데이터베이스 내에 이용자의 권한을 부여하기 위한 GRANT와 권한을 박탈하는 REVOKE등이 대표적입니..

    [ Reverse Engineering ] - ABOUT

    [ Reverse Engineering ] - ABOUT

    리버스 엔지니어링이란 엔지니어링이란 완성품과 이를 구성하는 부품들의 기능과 설계를 고안하고 제작하는 과정을 말합니다. 이와 대비되는 리버스 엔지니어링(Reverse Engineering)은 용어의 '리버스'가 의미하듯, 위 과정을 거꾸로 하는 행위를 말합니다. 완성된 제품을 해체하고 분석하여 구조와 기능, 디자인을 파악합니다. 책에 따라 이를 '역공학'이라고 지칭하기도 합니다. 이를 '리버스 엔지니어링' 또는 '리버싱'이라고도 합니다. 리버싱에도 여러 분야가 있습니다. 야의 성분을 분석하는 것, 자동차의 주행 원리를 이해하는 것, 전자 제품의 회로를 분석하는 것 등에는 각각 생명공학, 기계공학, 전자 공학에 대한 리버싱 기술이 적용됩니다. 이 외데도 대부분의 공학 분야에서는 그에 대응되는 리버싱 기술이 ..

    [ Web Hacking ] - CSRF

    [ Web Hacking ] - CSRF

    CSRF CSRF는 임의 이용자의 권한으로 임의 주소에 HTTP요청을 보낼 수 있는 취약점입니다. 공격자는 임의 이용자의 권한으로 서비스 기능을 사용해 이득을 취할 수 있습니다. CSRF공격에 성공하기 위해서는 공격자가 작성한 악성 스크립트를 이용자가 실행해야 합니다. 이는 공격자가 이용자에게 메일을 보내거나, 게시판에 글을 작성해 이용자가 이를 조회하도록 유도하는 방법이 있습니다. 여기서 말하는 악성 스크립트는 HTTP요청을 보내는 코드로, 아래에서 요청을 보내는 스크립트를 작성하는 방법에 대해 알아보도록 하겠습니다. CSRF공격 스크립트는 HTML또는 JavaScript를 통해 작성할 수 있습니다. 위 Figure5는 HTML으로 작성된 스크립트입니다. 이미지를 불러오는 img태그를 사용하거나 웹 페..