* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**PEASS Ailesi**]'ni keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'ler**]'imiz koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
Şifreleme **sabit boyutlu bloklarda** gerçekleştirildiği için genellikle **son bloğu tamamlamak için dolgu** gereklidir.\
Genellikle **PKCS7** kullanılır, bu da bloğu tamamlamak için gereken **bayt sayısını tekrarlayan bir dolgu** oluşturur. Örneğin, son blokta 3 bayt eksikse, dolgu `\x03\x03\x03` olacaktır.
Bir uygulama şifrelenmiş verileri şifre çözme işleminden sonra dolgu kaldırır. Dolgu temizliği sırasında **geçersiz bir dolgu algılanabilir bir davranışı tetiklerse**, bir **dolgu oracle zafiyeti** oluşur. Algılanabilir davranış bir **hata**, **sonuçların eksikliği** veya **daha yavaş bir yanıt** olabilir.
Bu tür bir zafiyeti sömürmek için [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) kullanabilir veya sadece yapabilirsiniz
Bu zafiyeti yeni verileri şifrelemek için de **kötüye kullanabilirsiniz. Örneğin, çerezin içeriğinin "**_**user=MyUsername**_**" olduğunu varsayalım, sonra bunu "\_user=administrator\_" olarak değiştirebilir ve uygulama içinde ayrıcalıkları yükseltebilirsiniz. Ayrıca, `-plaintext` parametresini belirterek bunu `paduster` kullanarak da yapabilirsiniz:
Eğer site savunmasızsa, `padbuster` otomatik olarak dolgu hatası oluştuğunda bulmaya çalışacaktır, ancak ayrıca hata mesajını da **-error** parametresini kullanarak belirtebilirsiniz.
**Özetle**, farklı**doldurma değerlerini** oluşturmak için doğru değerleri tahmin ederek şifrelenmiş verilerin şifresini çözmeye başlayabilirsiniz. Ardından, doldurma oracle saldırısı, **1, 2, 3 vb. doldurma oluşturan doğru değeri tahmin ederek** baytları baştan sona doğru şifresini çözmeye başlayacaktır.
Bu BF, öncekine benzer karmaşıktır çünkü 0x02 değerine sahip `E''15`'i hesaplamak mümkündür: `E''7 = \x02 ^ I15` bu yüzden sadece **`C14`'ü `0x02`'ye eşit olan `E'14`'ü bulmak gerekmektedir.\
Sonra, C14'ü şifrelemek için aynı adımları uygulayın: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
Eğer **birçok kez oturum açarsanız** ve her zaman **aynı çerez**i alırsanız, uygulamada muhtemelen **bir sorun var** demektir. Geri gönderilen **çerez her seferinde benzersiz olmalıdır**. Eğer çerez **her zaman****aynı** ise, muhtemelen her zaman geçerli olacak ve **geçersiz kılacak bir yol olmayacaktır**.
Şimdi, **çerezi değiştirmeyi** denerseniz, uygulamadan bir **hata** aldığınızı görebilirsiniz.\
Ancak, doldurmayı BF yaparsanız (örneğin padbuster kullanarak), farklı bir kullanıcı için geçerli başka bir çerez elde edebilirsiniz. Bu senaryo büyük olasılıkla padbuster'a karşı savunmasızdır.
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!