전체 글

Web Hacking Advanced

Prototype Pollution

JS prototype 개념prototype pollution을 이해하기 위해서는 JS의 object prototype과 constructor에 대한 개념을 알아야한다. 자바스크립트는 다음과 같은 특징이 있다.모든 것은 객체이고, 객체로서 동작하는 완전한 객체지향 언어다.var keyme = new Person('keyme');객체는 생성자의 prototype 객체를 상속한다.keyme라는 객체는 Person.prototype을 상속받는다.객체는 생성자 함수를 사용해서 만든다.생성자 함수 → Person()  prototype은 객체 지향 프로그래밍에서 상속을 구현하는 데 사용되는 중요한 개념이다. 모든 객체는 prototype을 가지고 있으며, 이를 통해 객체 간의 상속 및 속성, 메서드 공유가 가능하..

CTF

FIESTA 2023 Writeup

공급망 공격○ 공급망 공격 1die로 분석하면 VB 6 버전의 프로그램이다. 프로그램을 실행하면 MSCOMCTL.OCX와 관련된 오류가 발생한다. MSCOMCTL.OCX 가 없어서 프로그램 실행이 안됩니다 MSCOMCTL.OCX 가 없어서 프로그램 실행이 안됩니다MSCOMCTL.OCX 가 없다고 프로그램 실행이 안됩니다.component 'MSCOMCTL.OCX' or one of this dependencies not correctly registered: a file is missing or invaild 라는 오류 메시지가 뜨는 경험을 하셨다면 해결방법입니다. 이omnislog.com링크의 방법으로 해결하면 실행과 분석이 가능하다. C:\Windows\system32>regsvr32 MSCOMCTL..

CTF

WACON 2023 Prequal Writeup

PWNflash-memory○ checksec└─# checksec app [*] '/root/dream/flash-memory/app' Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: PIE enabledPartial RELRO이므로 GOT overwrite를 이용한 풀이가 가능할 것이라고 생각하고 넘어갈 수 있다. 몇 가지 기능들이 존재하는데, 기능들을 분석하는 것이 중요한 문제이므로 분석하고 넘어가도록 하자. stream = fopen("/proc/self/maps", "r");if ( !stream ){ printf("C..

keyme
keyme - Security Study