From 01df7d32b6c9191d0a4a13df2223c49238dd87eb Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 19 Aug 2025 22:05:02 +0000 Subject: [PATCH] Translated ['src/pentesting-web/deserialization/nodejs-proto-prototype-p --- .../README.md | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md b/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md index 3236bc484..8acc65a7d 100644 --- a/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md +++ b/src/pentesting-web/deserialization/nodejs-proto-prototype-pollution/README.md @@ -1,10 +1,10 @@ -# NodeJS - \_\_proto\_\_ i zanieczyszczenie prototypu +# NodeJS - \_\_proto\_\_ & zanieczyszczenie prototypu {{#include ../../../banners/hacktricks-training.md}} ## Obiekty w JavaScript -Obiekty w JavaScript to w zasadzie zbiory par klucz-wartość, znane jako właściwości. Obiekt można utworzyć za pomocą `Object.create` z `null` jako argumentem, aby uzyskać pusty obiekt. Ta metoda pozwala na tworzenie obiektu bez dziedziczonych właściwości. +Obiekty w JavaScript są zasadniczo kolekcjami par klucz-wartość, znanymi jako właściwości. Obiekt można utworzyć za pomocą `Object.create` z `null` jako argumentem, aby uzyskać pusty obiekt. Ta metoda pozwala na tworzenie obiektu bez dziedziczonych właściwości. ```javascript // Run this in the developers tools console console.log(Object.create(null)) // This will output an empty object. @@ -33,7 +33,7 @@ employee1.__proto__ ``` ### Prototypy w JavaScript -JavaScript pozwala na modyfikację, dodawanie lub usuwanie atrybutów prototypu w czasie rzeczywistym. Ta elastyczność umożliwia dynamiczne rozszerzanie funkcjonalności klas. +JavaScript pozwala na modyfikację, dodawanie lub usuwanie atrybutów prototypu w czasie wykonywania. Ta elastyczność umożliwia dynamiczne rozszerzanie funkcjonalności klas. Funkcje takie jak `toString` i `valueOf` mogą być zmieniane, aby zmienić ich zachowanie, co pokazuje elastyczny charakter systemu prototypów JavaScript. @@ -49,7 +49,7 @@ Należy zauważyć, że gdy właściwość jest dodawana do obiektu pełniącego Obiekty JavaScript są definiowane przez pary klucz-wartość i dziedziczą z prototypu obiektu JavaScript. Oznacza to, że modyfikacja prototypu obiektu może wpływać na wszystkie obiekty w środowisku. -Użyjmy innego przykładu, aby to zobrazować: +Użyjmy innego przykładu, aby to zilustrować: ```javascript function Vehicle(model) { this.model = model @@ -156,7 +156,7 @@ c[1] // 2 -- not ``` ### Zanieczyszczenie elementów Html -Podczas generowania elementu HTML za pomocą JS możliwe jest **nadpisanie** atrybutu **`innerHTML`**, aby umożliwić zapis **dowolnego kodu HTML.** [Pomysł i przykład z tego opracowania](https://blog.huli.tw/2022/04/25/en/intigriti-0422-xss-challenge-author-writeup/). +Kiedy generujesz element HTML za pomocą JS, możliwe jest **nadpisanie** atrybutu **`innerHTML`**, aby umożliwić zapis **dowolnego kodu HTML.** [Pomysł i przykład z tego opracowania](https://blog.huli.tw/2022/04/25/en/intigriti-0422-xss-challenge-author-writeup/). ```javascript // Create element devSettings["root"] = document.createElement('main') @@ -173,7 +173,7 @@ settings[root][ownerDocument][body][innerHTML]="