검색 본문
서비스 안내 Kakao가 운영하는 책 서비스 입니다. 다른 사이트 더보기 Pollution (on-level) 저자 National Ge... 출간 2014.1.1. 도서 11,000원 Pollution 저자 Montgomery ... 출간 2019.6.3. 도서 188,660원 Pollution 저자 National Ge... 출간 2014.1.1. 도서 11,000원 Pollution 저자 BorderRosem... 출간 2002.1.1. 도서 35,260원 Pollution 저자 Spilsbury R... 출간 2019.1.15. 도서 18,640원 Pollution 도서 24,380원 Pollution 저자 Brundle Har... 출간 2018.1.15. 도서 12,780원 Pollution 저자 Baby Profes... 출간 2017.5.15. 도서 16,910원 Pollution 저자 Cozic 출간 1994.1.1. Pollution 저자 McEldowneyS 출간 2021.1.1. 더보기 (주)카카오는 상품판매의 당사자가 아닙니다.법적고지 안내 (주)카카오는 통신판매중개자로서 통신판매의 당사자가 아니며 상품의 주문 배송 및 환불 등과 관련한 의무와 책임은 각 판매자에게 있습니다.
keep-going99.tistory.com keep going Server-side prototype pollution 2 지난번까지는 Client-side prototype pollution에 대해 학습을 진행했었다. 이번에는 Server-side prototype pollution에 대해 학습해 보도록 한다. 먼저, 해당 포스팅은 아래 포트스위거의 web-security를 기반으로 진행된다. ▶ https://portswigger.net/web-security/prototype-pollution/server-side JavaScript는... 2024.05.22 블로그 검색 더보기 Prototype pollution 대응 방안 Lab : DOM XSS via client-side prototype pollution jun4n.tistory.com 웹해킹 아저씨 블로그 Prototype pollution Series 1 - Basics Hey javascript는 브라우저와 서버단에서 모두 사용가능한 언어로, 이러한 언어에서 발생 가능한 취약점과 미묘함은 서버단, 혹은 클라이언트 단에서 굉장히 위험한 요소가 될 수 있습니다. 우선 영어를 잘하시는 분이라면 https://github.com/HoLyVieR/prototype-pollution-nsec18/blob/master/paper/JavaScript_prototype_pollution_attack_in_NodeJS.pdf 를 읽어보시는 게 더 좋을 수 있습니다. prototype pollution 에 대해서 이야기하기 Javascript의 자료형과 Object Wrapper Primitive 자료형 MDN에서 알려주고 있는 Primitive values는 위와 같습니다. 기본 자료형들은 몇개를 제외하고는 Object Wrapper가 존재해서 특정 상황에 Object Wrapper로 감싸져서 해당 Object에 존재하는 함수를 사용할 수 있게 됩니다. 예를 들어서 위와 같이 primtive type의 변수에 . 연산자를 통해서 속성이나 메서드에 접근하려고 하는 경우 Object Wrapper로 감싸져서 임시 객체가 생성되고, 해당 임시 객체의 toExponential()메소드가 호출되게 됩니다. Prototype Chain 앞서 자바스크립트의 모든 객체들은 Object 타입을 상속받는다고 말씀드렸는데요, 자바스크립트에서는 prototype-based 상속을 구현합니다. 그렇다면 prototype이라는건 뭘까요? MDN에 따르면 각 객체에는 프로토타입이라는 다른 객체에 대한 링크를 보유하는 비공개 속성이 있습니다. 그 프로토타입 객체도 자신만의 프로토타입을 가지고 있으며, 프로토타입으로 null을 가진 객체에 도달할 때까지 이 연결은 계속됩니다. 라고 나와 있네요 간단히 말하자면 prototype chain은 상속 관계라고 보시면 됩니다. 이러한 Magic property __proto__ __proto__ 는 해당 인스턴스의 프로토타입에 접근할 수 있도록 해주는 속성입니다. obj.__proto__ == o o.__proto__ == Object.prototype Array.prototype.__proto__ = Object.prototype 그러므로 위 세 개의 구문은 전부 true입니다. obj = {} obj.constructor.prototype == Object.prototype 위 구문도 참인데요 ㅋㅋ 이쯤 되면 저 같은 컴맹은 머리가 어질어질 해집니다. 자세히 설명하자면 Javascript의 class Prototype Pollution 서론이 좀 길었던 것 같은데요 ㅋㅋ 이제부터 prototype pollution 타임입니다. 사실 서론이 본론입니다 ㅎㅎ 다른 객체지향 언어에서의 상속과는 다르게, 자바스크립트에서는 모든 객체들이 Object.prototype과 prototype chain으로 엮여 있고, 객체에서 속성을 조회할 때 prototype chain을 타고 들어가면서 속성값을 찾아서 사용하는 방식은 취약점으로 연결될 수 있습니다. 한마디로 Object.prototype에 속성을 삽입하면 다른 객체들에도 해당 속성들이 삽입되어서 사용된다는 것입니다. Prototype Pollution Code pattern code pattern에 대한 내용은 https://github.com/HoLyVieR/prototype-pollution-nsec18?tab=readme-ov-file 해당 링크에서 더 자세하게 확인할 수 있는데요. 여기서는 특히 유명한 코드패턴 하나를 소개하고 마무리 짓도록 하겠습니다. Object recursive merge function merge(obj, source) { const keys = Object.keys(source) for (let key of keys) { if (source 정리 결론적으로 저희는 자바스크립트에서 객체의 속성에 접근할 때, prototype chain을 타고 올라가면서, 속성을 뒤져본다는 사실을 알았습니다. 이후 Object.prototype에 속성값을 삽입해 보았고, 삽입된 속성 값이, 다른 객체들에서도 발견됨을 확인하였습니다. prototype pollution취약점이 발생한다면 공격자는 존재하지 않는 속성값을 삽입하거나, 특정 구문에서 예외를 발생시켜서 필터링을 우회하거나 다른 로직이 실행되도록 유도하는 등 다양한 공격이 발생할 수 있습니다. Prevention Object.freeze(Object.prototype) MDN에 따르면 `Object.freeze() 메서드는 객체를 동결합니다. 동결된 객체는 더 이상 변경될 수 없습니다. 즉, 동결된 객체는 새로운 속성을 추가하거나 존재하는 속성을 제거하는 것을 방지하며 존재하는 속성의 불변성, 설정 가능성(configurability), 작성 가능성이 변경되는 것을 방지하고, 존재하는 속성의 값이 변경되는 것도 방지합니다.`라고 나옵니다. obj = { prop: 42, }; Object.freeze(Object.prototype); REF) 상속과 프로토타입 - JavaScript | MDN Object.prototype.proto - JavaScript | MDN Prototype Chain (프로토타입 체인) GitHub - HoLyVieR/prototype-pollution-nsec18: Content released at NorthSec 2018 for my talk on prototype pollution Prototype Pollution src/objects.h - v8/v8 - Git at Google 5 javascript는 브라우저와 서버단에서 모두 사용가능한 언어로, 이러한 언어에서 발생 가능한 취약점과 미묘함은 서버단, 혹은 클라이언트 단에서 굉장히 위험한 요소가 될 수 있습니다. 우선 영어를 잘하시는 분이라면 https://github.com/HoLyVieR/prototype-pollution-nsec18/blob/master/paper/JavaScript_prototype_pollution_attack_in_NodeJS.pdf 를 읽어보시는 게 더 좋을 수 있습니다. prototype pollution 에 대해서 이야기하기 2024.04.09 Prototype pollution Series 2 - Sanitizer Prototype pollution Series 3 - Prototype Pollution Leads to Remote Code Execution in NodeJS namu.wiki Rock and Roll Ain't Noise Pollution - 나무위키 호주의 록 밴드 AC/DC의 6집 Back in Black에 수록된 곡. 수록앨범 BACK IN BLACK 장르 하드 록, 블루스 록 작사/작곡 앵거스 영, 말콤 영, 브라이언 존슨 러닝타임 4:15 프로듀서 로버트 존 머트 랭 개요 특징 가사 참여자 2024.04.18 웹문서 검색 더보기 Infant Annihilator - 나무위키 국제해사기구 - 나무위키 tjrrb4551.tistory.com mooji [1-day] CVE-2019-11358 / Prototype pollution Description 해당 취약점인 오픈소스 자바스크립트 라이브러리인 jQuery에서 발견된 취약점입니다. 해당 CVE는 자바스크립트 protytype을 덮어쓸 수 있는 취약점으로 XSS 공격이 가능하며, 더 나아가 DoS, RCE, Property injection과 같은 공격으로 이어질 수 있습니다. 이 취약점은 jQuery의 extend() 함수에서 발생하며, extend()는 여러 객체들을 하나로 합쳐주는 함수입니다. 즉, 객체를 합치는 과정에서 부모 객체의 prototype을 오염시킬 경우 취약점이 발생합니다. CVSS 점수가 6.1로 측정되었 Prototype pollution prototype pollution을 이해하기 위해서는 자바스크립트의 prototype 개념에 대해 알고 있어야 합니다. 자바스크립트는 자바와 같은 클래스 기반이 아닌 프로토타입 기반의 언어입니다. 프로토타입 기반 언어는 객체 원형인 프로토타입을 이용하여 새로운 객체를 만듭니다. 이렇게 생성된 객체 역시 또 다른 객체의 원형이 될 수 있습니다. 아래는 자바스크립트의 객체 내부에 대한 설명입니다. 그림 1 위 그림 1은 자바스크립트에서 함수를 정의한 모습입니다. 자바스크립트에서는 기본 데이터 타입을 제외한 모든 것들을 객체로... Trigger CVE-2019-11358은 jQuery의 extend() 함수에서 발생합니다. extend() 함수에 대해 간단히 살펴보고 가겠습니다. 그림 6 그림 6은 jQuery docs에서 extend() 함수에 대해 설명한 것입니다. 해당 설명을 보면 첫 번째 인자로 Boolean이 옵니다. true일 경우 깊은 복사를 수행하며, 복사할 때 복사시킬 객체의 내부의 객체까지 모두 복사합니다. 두 번째 인자로는 복사될 객체가 오며, 세 번째 인자로는 복사시킬 객체가 옵니다. let a = $.extend(true, {}, JSON.parse Attacking 실습환경은 취약점이 존재하는 jQuery 버전을 import 후 간단하게 구성하였습니다. <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div id="backLinkContainer"></div> <p>Prototype Pollution</p> <script> cons Patch jQuery의 extend() 함수에서 __proto__에 대한 필터링이 추가 되었습니다 👇 Reference https://security.snyk.io/vuln/SNYK-JS-JQUERY-174006 Snyk Vulnerability Database | Snyk The most comprehensive, accurate, and timely database for open source vulnerabilities. security.snyk.io https://www.hahwul.com/2019/05/01/jqeury-prototype-pollution-cve-2019-11358/ https://github.com/cve-sandbox/j 9 prototype pollution을 이해하기 위해서는 자바스크립트의 prototype 개념에 대해 알고 있어야 합니다. 자바스크립트는 자바와 같은 클래스 기반이 아닌 프로토타입 기반의 언어입니다. 프로토타입 기반 언어는 객체 원형인 프로토타입을 이용하여 새로운 객체를 만듭니다. 이렇게 생성된 객체 역시 또 다른 객체의 원형이 될 수 있습니다. 아래는 자바스크립트의 객체 내부에 대한 설명입니다. 그림 1 위 그림 1은 자바스크립트에서 함수를 정의한 모습입니다. 자바스크립트에서는 기본 데이터 타입을 제외한 모든 것들을 객체로... CVE-2019-11358 2024.04.13 wn.com pollution Pollution Pollution (album) Pollution (The Goodies) Latest News for: pollution Edit Efforts to rejuvenate polluted Kalyani river hindered by encroachments The Times of India 03 Sep 2023 . Edit Air pollution linked to higher dementia risk Quad-City... 2023.03.09 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 우바리 시사 분야 크리에이터 "Am I an enemy of the state?" 4 had been re-settled in people, a lot of park areas had been turned into grazing fields and agricultural farms, soil erosion was rampant, pollution of water resources was very high, poor mining methods led to several deaths, and so on. We just said enough was enough, and we started a new political... 정당 르완다 민주주의 2024.04.22 브런치스토리 검색 더보기 story.kakao.com 김원석 김원석 - 카카오스토리 global warming is man-made or a natural process? Theme Vocabulary 1. source 2. renewable 3. pollution 4. harmful 5. disaster 원더즈 3.2 M.I 테마 04 자연의 힘 시작합시다! 우리 주변에서 일어나는 모든... 2024.05.08 카카오스토리 검색 더보기 시사 크리에이터 보기
샵1029 www.shop1029.com 신청자 작성 pollution, jayshogo, saaf. 서울 마포구 합정동. pollution, jayshogo, mitchell & ness, MLB,NBA,NFL,NCAA와의 콜라보레이션. 샵1029 shop1029.co.kr 신청자 작성 폴루션,미첼엔네스,제이쇼고. 서울 마포구 합정동. pollution, jayshogo, mitchell & ness, MLB,NBA,NFL,NCAA와의 콜라보레이션. Street Fashion Brand POLLUTION pollution.co.kr/board/index.html 웹수집 POLLUTION 사이트 더보기
서비스 안내 Melon Company가 운영하는 음악 서비스입니다. 다른 사이트 더보기 Pollution Jonah Kagen 앨범 Pollution 2023.09.29. Pollution (Album Version (Explicit)) Limp Bizkit 앨범 Three Dolla... 1997.01.01. Pollution Limp Bizkit 앨범 The Collect... 2008.05.12. Pollution (Album Version (Edited)) (Edited Ver.) Limp Bizkit 앨범 Three Dolla... 1998.01.01. Pollution BGMG 앨범 Synthetic S... 2023.07.18. Pollution Jonah Kagen 앨범 Made Up My ... 2023.11.10. Pollution (Album Version (Explicit)) (Feat. Grimm, Russell Lee, Rasheed) Baby Bash 앨범 Tha Smokin'... 2003.01.01. Pollution Go!Zilla 앨범 Pollution 2016.05.20. Pollution Vitamin String Quartet 앨범 Break Stuff... 2004.01.27. POLLUTION AsianLean 앨범 DYSTOPIA 2024.04.30. Pollution Hikasa Yoko 앨범 Couleur 2014.09.03. Pollution TPA 앨범 Transformat... 2009.08.01. Pollution Woodpecker 앨범 Stillborn 2017.02.02. Pollution Go!Zilla 앨범 Sinking in ... 2015.04.15. Pollution Limp Bizkit 앨범 Three Dolla... 1997.07.01. Pollution 프란티카 앨범 냉소적인 극 2011.05.20. Pollution Bo Diddley 앨범 Another Dim... 1971.01.01. Pollution Jonesy 앨범 No Alternat... 1972.01.01. Pollution Pernille Gunvad 앨범 Fire 2007.05.11. Pollution(Original Mix) Drahosh 앨범 First Ep 2015.08.17. 더보기