본문 바로가기

분류 전체보기

(133)
[DreamHack] Relative Path Overwrite https://dreamhack.io/wargame/challenges/439 Relative Path Overwrite Exercise: Relative Path Overwrite에서 실습하는 문제입니다. dreamhack.io 난이도: Level 2 index.php Relative-Path-Overwrite Home Vuln page Report 경로 조작이 불가능하도록 필터링되어 있는 것을 확인할 수 있습니다. vuln.php 코드가 포함되어 있고, 유저로부터 입력받은 param 값을 소문자로 변환하여 필터링을 거치는 것을 알 수 있습니다. Vuln Page에 접속하면, 위와 같은 화면이 나오게 되고, 아래와 같이 네트워크를 확인해 본 결과 filter.js가 실행되고 있었습니다. filter.j..
[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..
[DreamHack] filestorage Prototype Pollution 개념 Concept of Prototype Pollution https://dreamhack.io/wargame/challenges/643 filestorage 파일을 관리할 수 있는 구현이 덜 된 홈페이지입니다. dreamhack.io 난이도: Level 2 app.py path: / const express=require('express'); const bodyParser=require('body-parser'); const ejs=require('ejs'); const hash=require('crypto-js/sha256'); const fs = require('fs'); const app=express(); var file={}; var read={}; app..
Prototype Pollution Object oriented Language : JavaScript JavaScript는 Java, Python과 같이 객체지향언어지만, 클래스(class)라는 개념이 없습니다. 대신에 기존의 객체를 복사하여 객체를 생성하는 프로토타입(prototype)을 제공합니다. 따라서, JavaScript는 프로토타입 기반의 언어입니다. Prototype JavaScript의 모든 객체는 최소한 하나 이상의 다른 객체로부터 속성(property)과 메서드(method)를 상속(inheritanc)을 받으며, 상속되는 정보를 제공하는 객체를 프로토타입(prototype)이라고 합니다. [1] 단, Object.prototype 객체는 전역 범위를 가진 Root Prototype로 어떠한 프로토타입(prototype..
[DreamHack] error-based-sql-injection https://dreamhack.io/wargame/challenges/412 error based sql injection Description Simple Error Based SQL Injection ! 문제 수정 내역 2023.07.21 Dockerfile 제공 dreamhack.io 난이도: Level 1 init.sql CREATE DATABASE IF NOT EXISTS `users`; GRANT ALL PRIVILEGES ON users.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass'; USE `users`; CREATE TABLE user( idx int auto_increment primary key, uid varchar(128) not null..
[DreamHack] sql injection bypass WAF Advanced https://dreamhack.io/wargame/challenges/416 sql injection bypass WAF Advanced Description Exercise: SQL Injection Bypass WAF의 패치된 문제입니다. 문제 수정 내역 2023.07.24 Dockerfile 제공 dreamhack.io 난이도: Level 1 init.sql CREATE DATABASE IF NOT EXISTS `users`; GRANT ALL PRIVILEGES ON users.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass'; USE `users`; CREATE TABLE user( idx int auto_increment primary key, uid v..
[DreamHack] sql injection bypass WAF https://dreamhack.io/wargame/challenges/415 sql injection bypass WAF Description Exercise: SQL Injection Bypass WAF에서 실습하는 문제입니다. 문제 수정 내역 2023.07.24 Dockerfile 제공. dreamhack.io 난이도: Level 1 init.sql CREATE DATABASE IF NOT EXISTS `users`; GRANT ALL PRIVILEGES ON users.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass'; USE `users`; CREATE TABLE user( idx int auto_increment primary key, uid varchar..
[DreamHack] Apache htaccess https://dreamhack.io/wargame/challenges/418 Apache htaccess Description 파일 업로드 기능을 악용하여 서버의 권한을 획득하세요 ! dreamhack.io 난이도: Level 1 src/upload.php