Kernel & Browser/Browser 4

[Browser] Browser (4) - DownUnder CTF Is this pwn or web? write-up ( pointer compression )

DownUnderCTF - Is this pwn or web?TagV8 engine exploitOOBpointer compressionSummarydiffing file analysisaddrof & fakeobjexploitdiffing file analysis디핑 파일은 부분별로 나눠서 보도록 하겠습니다.1. array-slice.tqdiff --git a/src/builtins/array-slice.tq b/src/builtins/array-slice.tq index 7b82f2bda3..4b9478f84e 100644 --- a/src/builtins/array-slice.tq +++ b/src/builtins/array-slice.tq @@ -101,7 +101,14 @@ macro Handl..

[Browser] Browser (3) - 35c3 CTF krautflare ( Math.expm1 exploit )

35c3 CTF krautflareBug analysis그냥 문제 풀면서 공부한 내용들을 정리했습니다. 틀린 내용이 있을 수 있고 정리가 안되어있으며 두서가 몹시 없습니다. 의식의 흐름대로 작성했으니 참고만 해주시면 감사하겟습니다.d8> %DebugPrint(-0) DebugPrint: -0 0x282625580561: [Map] - type: HEAP_NUMBER_TYPE - instance size: 16 - elements kind: HOLEY_ELEMENTS - unused property fields: 0 - enum length: invalid - stable_map - back pointer: 0x2826255804d1 - prototype_validity cell: 0 - instance ..

[Browser] Browser (2) - Javascript basic

Browser (2) - Javascript basicDynamically typeing자바스크립트는 변수의 타입을 미리 선언 할 필요가 없다.타입은 프로그램이 처리되는 과정에서 자동으로 파악된다.var foo = 42; // foo 는 이제 Number 임 var foo = "bar"; // foo 는 이제 String 임 var foo = true; // foo 는 이제 Boolean 임이런식이다. Data type자바스크립트의 데이터 타입은 크게 7개가 있다.primitiveBooleanNullUndefinedNumberStringSymbolObject BooleanTrue : False를 제외한 모든것False : "", null, undefined, 0, NaN Null더이상의 자세한 설명은 생..

[Browser] Browser (1) - Codegate jsworld write-up

Browser (1) - Codegate Jsworld write-upContentsEnvironment configurationVulnability analysisPoCAnalysisExploit Environment configuration일단 문제에서 주어지는 파일은 다음(jsworld,jsarray.cpp)과 같다. jsarray.cpp를 확인해보면, mozilla등의 문자열을 확인할 수 있으며, 이를 통하여 mozilla재단에서 관리하는 SpiderMonkey엔진의 코드를 일부 수정한 것임을 추측할 수 있다.파일도 받았으니 환경설정을 진행해보자. bash에서 아래와 같은 명령어를 입력하면 된다. 일단 의존 패키지부터 다운받아보자.sudo apt-get install python-pip gcc m..