* Bir **cybersecurity şirketinde** çalışıyor musunuz? **Şirketinizi HackTricks'te reklamını görmek** ister misiniz? veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter**'da beni takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
JavaScript'te yeni satır karakterlerini temsil etmek için kullanılan bazı geçerli karakterler vardır. Bu karakterler, metin içinde yeni bir satır başlatmak veya metni daha okunabilir hale getirmek için kullanılabilir. İşte bazı yaygın kullanılan geçerli JS yeni satır karakterleri:
When performing a function call in JavaScript, it is possible to use different types of spaces to separate the function name from the opening parenthesis. This can be useful in evading certain security measures that may be in place.
The following types of spaces can be used:
- **Regular space**: This is the standard space character that is commonly used for separating words. It can be represented by the Unicode character `\u0020`.
- **Non-breaking space**: This is a space character that prevents line breaks from occurring at its position. It can be represented by the Unicode character `\u00A0`.
- **Zero-width space**: This is a space character that is not visible when rendered, but still takes up space. It can be represented by the Unicode character `\u200B`.
By using these different types of spaces, it is possible to bypass filters or detection mechanisms that may be looking for specific characters or patterns in the function call. However, it is important to note that this technique may not work in all cases, as security measures can vary depending on the specific implementation.
- **Special Characters**: These include symbols such as !, @, #, $, %, ^, &, *, (, ), -, _, +, =, {, }, [, ], |, \, :, ;, ", ', <, >, ,, ., ?, /, and ~.
- **Özel Karakterler**: Bunlar !, @, #, $, %, ^, &, *, (, ), -, _, +, =, {, }, [, ], |, \, :, ;, ", ', <, >, ,, ., ?, / ve ~ gibi semboller içerir.
- **Whitespace Characters**: These are spaces, tabs, and line breaks.
- **Boşluk Karakterleri**: Bunlar boşluklar, sekme boşlukları ve satır sonlarıdır.
- **Control Characters**: These are non-printable characters such as null (\0), backspace (\b), form feed (\f), newline (\n), carriage return (\r), horizontal tab (\t), and vertical tab (\v).
- **Kontrol Karakterleri**: Bunlar yazdırılamayan karakterlerdir ve null (\0), backspace (\b), form feed (\f), newline (\n), carriage return (\r), horizontal tab (\t) ve vertical tab (\v) gibi karakterleri içerir.
- **Unicode Characters**: These are characters from the Unicode character set, which includes a wide range of characters from different languages and scripts.
- **Unicode Karakterleri**: Bunlar farklı dillerden ve yazı sistemlerinden geniş bir karakter yelpazesini içeren Unicode karakter kümesinden gelen karakterlerdir.
Bu teknik XSS için çok kullanışlı olmayabilir, ancak WAF korumalarını atlamak için kullanışlı olabilir. Bu python kodu, giriş olarak 2 bayt alır ve yüksek yedek çiftin son baytını ve düşük yedek çiftin son baytını arayan bir yedek çift bulur.
URL Fuzzing, ayrıca bilinen adıyla URL keşfi, bir web uygulamasının URL yapısını ve parametrelerini keşfetmek için kullanılan bir tekniktir. Bu teknik, web uygulamasının davranışını anlamak ve potansiyel güvenlik açıklarını tespit etmek için kullanılır. URL Fuzzing, farklı URL yapıları ve parametre değerleriyle istekler göndererek hedef web uygulamasının tepkisini analiz eder. Bu sayede, güvenlik açıkları, hatalı yapılandırılmış parametreler veya giriş doğrulama zayıflıkları gibi potansiyel zayıf noktaları tespit etmek mümkün olabilir.
URL Fuzzing için çeşitli araçlar ve yöntemler mevcuttur. Bu araçlar, otomatik olarak farklı URL yapıları ve parametre değerleriyle istekler göndererek hedef web uygulamasını test eder. Bu sayede, potansiyel güvenlik açıkları hızlı bir şekilde tespit edilebilir. URL Fuzzing, özellikle Cross-Site Scripting (XSS), SQL enjeksiyonu, dizin keşfi gibi yaygın web uygulaması güvenlik açıklarını tespit etmek için etkili bir tekniktir.
URL Fuzzing, web uygulamalarının güvenlik açıklarını tespit etmek için kullanılan önemli bir pentesting tekniğidir. Bu teknik, web uygulamalarının güvenliğini artırmak ve potansiyel saldırıları önlemek için kullanılan bir yöntemdir.
HTML Fuzzing, HTML Fazlama olarak da bilinir, web uygulamalarında XSS açıklarını bulmak için kullanılan bir tekniktir. Bu teknik, web uygulamasına giriş parametrelerine farklı HTML etiketleri, öznitelikleri ve değerleri enjekte ederek gerçekleştirilir. Bu sayede, web uygulamasının nasıl tepki verdiği ve potansiyel XSS açıklarının olup olmadığı test edilir.
HTML Fazlama, otomatik araçlar veya elle yapılan testlerle gerçekleştirilebilir. Otomatik araçlar, farklı HTML etiketleri ve değerlerini otomatik olarak enjekte ederek web uygulamasını test eder. Elle yapılan testlerde ise, farklı HTML etiketleri ve değerleri manuel olarak giriş parametrelerine eklenir ve web uygulamasının tepkisi gözlemlenir.
HTML Fazlama, web uygulamalarında XSS açıklarını bulmak için etkili bir tekniktir. Bu teknik sayesinde, web uygulamasının güvenlik açıkları tespit edilerek gerekli önlemler alınabilir.
Portswigger'ın **Hackability inspector** aracı, bir javascript nesnesinin **atributlarını analiz etmeye** yardımcı olur. Kontrol edin: [https://portswigger-labs.net/hackability/inspector/?input=x.contentWindow\&html=%3Ciframe%20src=//subdomain1.portswigger-labs.net%20id=x%3E](https://portswigger-labs.net/hackability/inspector/?input=x.contentWindow\&html=%3Ciframe%20src=//subdomain1.portswigger-labs.net%20id=x%3E)
* .map js dosyalarını indirmek için bir hile: [https://medium.com/@bitthebyte/javascript-for-bug-bounty-hunters-part-2-f82164917e7](https://medium.com/@bitthebyte/javascript-for-bug-bounty-hunters-part-2-f82164917e7)
* Bu dosyaları analiz etmek için bu aracı kullanabilirsiniz: [https://github.com/paazmaya/shuji](https://github.com/paazmaya/shuji)
Azaltma operatörü `--` aynı zamanda bir atamadır. Bu operatör, bir değeri alır ve ardından bir azaltma işlemi yapar. Eğer bu değer bir sayı değilse, `NaN` olarak ayarlanır. Bu, değişkenlerin içeriğini ortamdan **kaldırmak** için kullanılabilir.
Bir fonksiyonun **`.call`** yöntemi, fonksiyonu **çalıştırmak** için kullanılır.\
Varsayılan olarak beklediği **ilk argüman**, **`this`** değeridir ve eğer **hiçbir şey** sağlanmazsa, bu değer **`window`** olur (eğer **`strict mode`** kullanılmıyorsa).
//The apply function is pretty much exactly the same as the call function with one important difference, you can supply an array of arguments in the second argument:
Öyleyse, önceki işlevlerin çoğu aslında işe yaramaz çünkü onları kaydetmiyoruz ve çağırmak için bir yer yok. Örnek olarak `plusone` işlevini oluşturmak:
This JavaScript code sets a breakpoint whenever the `value` property is accessed. When the property is accessed, the `debugger` statement is triggered, allowing you to inspect the code execution at that point. This can be useful for debugging and understanding how the code is interacting with the `value` property.
Bu JavaScript kodu, `value` özelliğine her erişildiğinde bir kesme noktası ayarlar. Özellik erişildiğinde, `debugger` ifadesi tetiklenir ve kodun o noktadaki yürütmesini incelemenizi sağlar. Bu, hata ayıklama yapmak ve kodun `value` özelliğiyle nasıl etkileşimde bulunduğunu anlamak için kullanışlı olabilir.
Sometimes, during the testing phase, it is necessary to automate the process of accessing a web page with different payloads to test for vulnerabilities. This can be achieved using various tools and techniques.
Bazen test aşamasında, zafiyetleri test etmek için farklı yüklerle bir web sayfasına otomatik erişim sağlama sürecini otomatikleştirmek gerekebilir. Bu, çeşitli araçlar ve teknikler kullanılarak gerçekleştirilebilir.
One approach is to use headless browsers, such as Puppeteer or Selenium, which allow you to control a browser programmatically. These tools can be used to navigate to a specific URL and execute JavaScript code, including payloads, on the target page.
Bir yaklaşım, Puppeteer veya Selenium gibi başsız tarayıcıları kullanmaktır. Bu araçlar, bir tarayıcıyı programatik olarak kontrol etmenizi sağlar. Bu araçlar, hedef sayfada belirli bir URL'ye gitmek ve yükler de dahil olmak üzere JavaScript kodunu yürütmek için kullanılabilir.
Another option is to use browser automation frameworks like PhantomJS or CasperJS. These frameworks provide APIs that allow you to script interactions with web pages, including the execution of JavaScript payloads.
Başka bir seçenek, PhantomJS veya CasperJS gibi tarayıcı otomasyon çerçevelerini kullanmaktır. Bu çerçeveler, JavaScript yüklerinin yürütülmesi de dahil olmak üzere web sayfalarıyla etkileşimleri betimlemenize olanak sağlayan API'ler sağlar.
By automating the process of accessing web pages with different payloads, you can quickly test for cross-site scripting (XSS) vulnerabilities and identify potential security issues in your web application.
Farklı yüklerle web sayfalarına otomatik erişimi sağlayarak, çapraz site komut dosyası (XSS) zafiyetlerini hızlı bir şekilde test edebilir ve web uygulamanızdaki potansiyel güvenlik sorunlarını tespit edebilirsiniz.
* Bir **cybersecurity şirketinde çalışıyor musunuz**? **Şirketinizi HackTricks'te reklamını görmek** ister misiniz? veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter**'da beni takip edin 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**