반응형

전체 글 30

SQL Injection 기법들

Information_schema 개념 MySQL 서버 내에 존재하는 DB의 메타 정보(테이블, 칼럼, 인덱스 등의 스키마 정보)를 모아둔 DB 데이터베이스 내의 모든 테이블은 읽기 전용이다. SQL Injection 개념 악의적인 사용자가 보안상의 취약점을 이요하여, 임의의 SQL문을 주입하고 실행되게 하여 데이터 베이스가 비정상적인 동작을 하도록 조작하는 행위 Union based SQL Injection 개념 SQL에서 Union 키워드는 두 개의 쿼리문에 대한 결과를 통합해서 하나의 테이블로 보여주게 하는 키워드이다. 정상적인 쿼리문에 Union 키워드를 사용하여 인젝션에 성공하면, 원하는 쿼리문을 실행할 수 있게 된다. 단, 두가지 조건이 있는데, Union하는 두 테이블의 컬럼 수가 같아야 하..

웹 공부 2023.10.12

DB&DBMS&SQL

DB, DBMS, SQL DB(DataBase) 데이터의 저장소 한 마디로 정의하면 ‘데이터의 집합’이라고 할 수 있다. 데이터베이스에는 일상생활 대부분의 정보가 저장되고 관리됩니다. DBMS(DataBase Management System) 데이터베이스를 운영하고 관리하는 소프트웨어 다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 한다. DBMS의 종류 MySQL, Oracle, SQL 서버, MariaDB 등이 있다. DBMS의 분류 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류된다. 계층형(Hie..

웹 공부 2023.10.12

URI/URL

URI/URL URL개념 URI(Uniform Resource Identifier)는 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL 의미를 포함한다. URI개념 URL(Uniform Resouce Locator)은 자원이 실제로 존재하는 위치를 가리킨다. URL과 URI의 예시 htpp://example.co.kr/index 이 예시는 example.co.kr에서 index라는 경로를 나타내고 있다. 서버에서는 해당 라우팅에 대한 알맞은 자원을 전송해줄 것이며 이는 자원의 실제 위치이므로 URL이다. htpp://example.co.kr/user/107 이 예시는 example.co.kr에서 107의 ID값을 가지고있는 자원을 식별하고있다. 따라서, http://example.co.kr/us..

웹 공부 2023.10.12

Domain/DNS & Robots.txt

Domain/DNS Host의 개념 데이터를 저장할 공간을 빌리는 것 홈페이지, 사이트들은 결국 데이터 덩어리이기 때문에 물리적으로 저장할 컴퓨터가 필요하다. 이런 컴퓨터를 호스팅 서버라고 하고 호스팅 업체에서 이런 컴퓨터의 공간 일부를 비용을 받고 빌려주는 걸 Web Hosting이라고 함. 호스팅 서버도 인터넷 회선이 연결된 컴퓨터로 12.123.123.123같은 형태의 IP주소를 갖고 있음. 이 IP주소가 실제 주소라고 보면 됨 Domain의 개념 내 사이트의 이름을 지정하는 것 도메인 주소와 호스팅 IP 주소는 아무런 설정이 없는 상태에서는 서로 연관성이 없음. 하지만, 업체에서 별도로 관리하는 외부의 네임서버라는 곳에 A라는 IP주소는 A’라는 도메인 주소와 같다고 설정을 해주면, 도메인 주소를..

웹 공부 2023.10.12

File Upload/Download 취약점

File Upload/Download 취약점 개념 웹 서비스 첨부파일, 환경설정 미흡을 이용하여 악의적인 스크립트가 포함된 파일을 업로드 한 후에 웹 서버에 침투를 하는 공격 (첨부, 경로 파악, 공격 모두 가능해야함) 공격자는 서버 사이드 스크립트(php, jsp, .net 등)을 이용해서 웹쉘을 제작한다. 웹쉘은 원격에서 웹 서버를 제어하기 위해 만들어졌지만 지금은 웹쉘=악성코드로 분류해서 안티 바이러스에서 탐지한다. 게시판 첨부파일, 이력서 첨부파일, 이미지 첨부파일, 웹 채팅방 파일 공유 기능 등에서 발생 공격 조건 파일 업로드가 가능해야 함 파일이 업로드된 디렉터리의 경로를 알아야 함 파일이 업로드된 디렉터리의 실행 권한이 있어야 함 문제 드림핵 file-download-1 문제 일단 코드에서 ..

웹 공부 2023.10.01

Path Traversal

Path Traversal 개념 Path Traversal은 웹 루트 디렉토리 외부에 저장된 파일 및 디렉토리에 접근하는 기법이다. 경로 탐색 취약점이라고도 불리며 절대경로(../)를 사용해 접근한다. 실습 문제 드림핵 문제 pathtraversal 맨 처음에는 이렇게 뜬다. 이 값 그대로 입력해주면 어떻게 될까? userid는 guest로, level은 1로, password는 guest로 인식된다. 그렇다면, admin을 입력하면 어떻게 될까? 이런 식으로 나온다. 위 문제의 코드 중 눈여겨 볼 코드 부분은 여기다. 드림핵 사이트에서 flag파일은 /api/flag에 있다고 명시해줬고, 우리는 이 곳에 강제로 접근하기만 하면 된다. 즉, userid 부분을 /api/flag를 향하도록 강제로 바꿔주면..

웹 공부 2023.10.01

빛은 입자일까? 파동일까?

제목에서 보셨다시피 양자역학에서 가장 중요한 의문점이자, 아직 정확한 정의를 내리지 못한 질문입니다. 그렇다면 왜 이런 질문이 나오기 시작했으며, 왜 아직 정확한 정의를 내리지 못했는지 알아보겠습니다. . . . 18세기 초, 과학자들은 빛이 입자인지, 파동인지를 두고 빛의 파동설, 입자설로 편을 갈라 싸웠습니다. 하지만, 당시 빛의 입자설을 증명한 뉴턴은 프리즘 실험을 근거 삼아 빛은 입자라고 주장했습니다. 그 당시 만유인력의 법칙을 발견하고 이론으로 증명하면서 과학계에서는 이미 거장이 된 과학자였기에, 그 당시는 과학계는 사실상 빛은 입자라고 정의되다시피 했습니다. 뉴턴은 빛이 파동이면 프리즘을 통해 빛이 나뉠 수 없다고 주장하면서 말이죠. 이에 따라 빛은 복합광임이 증명됐으며, 빛은 입자라는 증거가..

IDOR&Command Injection&Directory Listing

IDOR 개념 IDOR(Insecure Direct Object References)는 Access Control에서 발생하는 취약점 중 외부에 노출되거나 제공되는 입력이 Object에 직접 참고하고 엑세스할 때 이를 이용하여 본인의 권한을 넘어서는 액션을 수행할 수 있습니다. Origin Request Get /intfo?account Id=15442 IDOR Request Get /info?account Id=1110 Command Injection 개념 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 실행하도록 하는 공격 드림핵 문제 command-injection-chatgpt 맨 위에 있는 Ping창에 들어가보면, 입력하는 란이 나온다. 파일 이름들 중, f..

웹 공부 2023.09.24

HTTP request/response & Get/Post

HTTP request/response 개념 클라이언트에 의해 전송되는 메시지를 요청(requiests)이라 하고, 요청에 대해 서버에서 응답으로 전송하는 메시지를 응답(responeses) Request 요청은 클라이언트가 서버로 전달하는 메시지로, 서버 측에 액션을 유도 Method : GET/POST/PUT/DELETE/OPTIONS/HEAD 등 클라이언트가 수행하고자 하는 동작 Path: 가져오려는 리소스의 경로다. 프로토콜, 도메인, TCP 포트를 제거한 리소스의 URL Version of protocol: HTTP 프로토콜의 버전 Headers: 서버에 대한 추가 정보를 전달하는 선택적 헤더들 Body: 전송된 리소스를 포함하는 Response의 본문과 유사한 본문을 포함 Response 요청..

웹 공부 2023.09.19

HTML&Cookie

HTML CSS JS Webbrowser HTML은 웹 브라우저를 통해서 사용자에게 보이는 웹 문서를 작성하는 언어로 쉽게 말해, 웹 문서의 뼈대를 구축하는 개념이다. 반면, CSS는 기존 HTML파일에 다양한 모양을 추가하거나, 변경하는 등 디자인 표현에 집중하는 언어로 CSS는 디자인을 입히는 개념이다. Java Script는 웹문서를 HTML을 이용해서, 정보를 보거나 웹 문서끼리 연결하는 것 이외에 동적 요소 제어를 위해 사용되는 언어로 웹 문서에서 제공하는 동적제어에 집중을 하는 언어이다. HTML로 뼈대를 만드고 CSS로 디자인을 입힌 웹 문서에 움직임을 넣는 개념의 언어이다. 위 사진은 웹 브라우저 구성요소이다. 1. 사용자 인터페이스(UI) : 인터페이스(interface)의 뜻은 “중앙 ..

웹 공부 2023.09.10
반응형