* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin**.
Şifreleme **sabit****boyutlu bloklar** halinde gerçekleştirildiği için, genellikle **son****bloğu tamamlamak** için **dolguya** ihtiyaç duyulur.\
Genellikle **PKCS7** kullanılır ve bloğu tamamlamak için gereken **bayt sayısını tekrarlayan bir dolgu** oluşturur. Örneğin, son blokta eksik olan 3 bayt ise dolgu `\x03\x03\x03` olacaktır.
Bir uygulama şifrelenmiş verileri çözerken, önce verileri çözer; ardından dolguyu kaldırır. Dolgu temizliği sırasında, **geçersiz bir dolgu algılanabilir bir davranışı tetiklerse**, bir **dolgu oracle zafiyeti** vardır. Algılanabilir davranış bir **hata**, **sonuç 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 şunları yapabilirsiniz
Ayrıca, bu zafiyeti yeni verileri şifrelemek için **kötüye kullanabilirsiniz**. Örneğin, çerezin içeriği "**_**user=MyUsername**_**" ise, bunu "\_user=administrator\_" olarak değiştirebilir ve uygulama içinde ayrıcalıkları yükseltebilirsiniz. Aynı işlemi `-plaintext` parametresini belirterek `paduster` kullanarak da yapabilirsiniz:
Eğer site savunmasızsa, `padbuster` otomatik olarak hata oluştuğunda bunu bulmaya çalışacaktır, ancak hata mesajını da **-error** parametresini kullanarak belirtebilirsiniz.
**Özet olarak**, farklı dolguları oluşturmak için kullanılabilecek doğru değerleri tahmin ederek şifrelenmiş verilerin şifresini çözmeye başlayabilirsiniz. Ardından, dolgu orak saldırısı, doğru değeri tahmin ederek 1, 2, 3 vb. bir dolgu oluşturan doğru değeri tahmin ederek, sona doğru baytları şifrelemeye başlar.
Bu brute-force, öncekine benzer karmaşıklığa sahiptir çünkü 0x02 değerine sahip olan 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, şifrelemeyi çözmek için aynı adımları C14 için yapın: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
Eğer birçok kez oturum açarsanız ve her seferinde **aynı çerez** alırsanız, uygulamada muhtemelen **bir şeyler yanlış**. Her oturum açtığınızda çerezin **benzersiz olması** gerekir. Eğer çerez **her zaman****aynı** ise, muhtemelen her zaman geçerli olacak ve **geçersiz kılmanın bir yolu olmayacak**.
Şimdi, çerezi **değiştirmeye** çalışırsanız, uygulamadan bir **hata** aldığınızı görebilirsiniz.\
Ancak, padbuster gibi bir araç kullanarak dolgu değerini brute-force yaparsanız, farklı bir kullanıcı için geçerli olan başka bir çerez elde edebilirsiniz. Bu senaryo, padbuster için büyük olasılıkla savunmasızdır.
<summary><strong>AWS hackleme konusunda sıfırdan kahramana dönüşmek için</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>'ı öğrenin!</strong></summary>
* Şirketinizi HackTricks'te **reklamınızı yapmak veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin.**