- Katılım
- 21 Ocak 2024
- Mesajlar
- 59
- Tepkime puanı
- 32
- Puanları
- 18
Merhaba. Bugün sizlere IDOR'u kısaca özetleyip ne işe yaradığını, web taraflı hangi zaafiyetlere yol açacağını anlatıp portswigger lab'ını çözeceğim.
Peki, nedir bu IDOR ?
Resimden de anlaşılacağı üzere sunucuda tutulan birtakım verilere o veri sahibi ulaşabilir. En basitiyle üniversite bilgi panelinde hesap ID'nizin 1 olduğunu düşünürseniz buna sadece sizin erişmeniz gerekir ve bu 1 ID'li hesapta sizin verileriniz tutulur. IDOR ile yetkisiz olan 3. kullanıcı request atarak sizin verilerinizi çekebilir. Bilal'e anlatır gibi bu şekilde özetleyebiliriz. Yani yetkisiz erişim elde etmektedir.
IDOR'la aşağıda yazılan bazı işleri yapabilirsiniz;
Sayıca az, öz nitelikte yüksek işler yapabileceğiniz bir zaafiyet. En basitiyle alışveriş sitelerinde IDOR'la hesap silme, account takeover yapma durumunda yaşanabilecek zaafiyeti firmalar düşünmek dahi istemez. Bunun banka hesaplarına vs. de yapıldığını göz önüne alın.
IDOR'la alakalı birtakım PoC'ler;
"https://insecure-website.com/customer_account?customer_number=132355" böyle bir URL'de kullanıcı numarası 132355 olarak belirtilmiş, peki ben 132356 olarak request yollarsam nolabilir ? Eğer sunucu tarafında yetkisiz erişim elde edip 132356 numaralı hesabın bilgilerini elde edebiliyorsam IDOR gerçekleşmiş olacaktır. Bunu PortSwigger'ın IDOR Lab'ı üzerinden açıklayalım.
Açıklamada sistemin static URL'le sunucudaki chat loglarını depoladığını belirtiyor. "carlos" hesabına da şifresini bularak giriş yapmamızı istiyor özetle. O zaman Lab'a girelim.
Live chat bölümü ilgimi çekiyor, madem chat'ler loglanıyorsa o zaman burada ID, numara gibi parametreler olabileceğini düşünüyorum ve dalıyorum buraya.
View transcript'e tıklarsam 2,3,4,5.....txt şeklinde dosyalar indiriliyor. Peki 2.txt varsa neden 1.txt, 0.txt olmasın diye düşünüyorum ve BurpSuit'le isteği tutuyorum. Gelen isteği Repeater'ı atıp 2.txt'yi 1.txt şeklinde değiştirip request'i yolluyorum ve bingo! 1.txt sistemde var, 200 OK döndü. Karşıma da 1.txt'nin içeriği çıkıyor.
Password yazışması ilgimi çekiyor, "carlos - hzf1nqpewaeuwtct1b7q" olarak login olmayı deniyorum ve bingo! Lab'ı çözmüş olduk.
Özet olarak IDOR'u yüzeysel olarak anlattım, ne işe yaradığını ve ne tarz verilerin çekilebileceğini anlattım. Bug bounty yaparken özellikle User ID parametrelerine Intruder'la atak yapabilirsiniz. 1'den 1000'e kadar denenmesi gibi.. Ve bu şekilde kullanıcılara ait kritik verileri elde edebilirsiniz.
Okuduğunuz için teşekkür ederim.
Peki, nedir bu IDOR ?
Resimden de anlaşılacağı üzere sunucuda tutulan birtakım verilere o veri sahibi ulaşabilir. En basitiyle üniversite bilgi panelinde hesap ID'nizin 1 olduğunu düşünürseniz buna sadece sizin erişmeniz gerekir ve bu 1 ID'li hesapta sizin verileriniz tutulur. IDOR ile yetkisiz olan 3. kullanıcı request atarak sizin verilerinizi çekebilir. Bilal'e anlatır gibi bu şekilde özetleyebiliriz. Yani yetkisiz erişim elde etmektedir.
IDOR'la aşağıda yazılan bazı işleri yapabilirsiniz;
- Hesap silme
- Kritik hesap verilerine erişme
- Hesap ele geçirme (account takeover)
Sayıca az, öz nitelikte yüksek işler yapabileceğiniz bir zaafiyet. En basitiyle alışveriş sitelerinde IDOR'la hesap silme, account takeover yapma durumunda yaşanabilecek zaafiyeti firmalar düşünmek dahi istemez. Bunun banka hesaplarına vs. de yapıldığını göz önüne alın.
IDOR'la alakalı birtakım PoC'ler;
PayPal disclosed on HackerOne: IDOR to add secondary users in...
PayPal Business Accounts allow account owners to create multiple secondary users with specific privileges assigned to their employees. This submission identified a method that made it possible for a Business Account owner to assign secondary users from other accounts. The new secondary user...
hackerone.com
Vimeo disclosed on HackerOne: Vimeo.com Insecure Direct Object...
Hello, my name is Toufik Airane. This is Responsible Disclosure and Silent Disclosure. Thanks you to opened bug bounty program! Please find a proof of concept for IDOR attack on famous vimeo.com. With this IDOR, attacker can reset any password, of any account and take controle of it. Please...
hackerone.com
Rockstar Games disclosed on HackerOne: <- Critical IDOR...
In this report, the researcher found an insecure direct object reference that allowed a malicious user to impersonate another user in the comment section under Newswire articles. This meant that an attacker could leave abusive comments that appeared to have been made by another user, or delete a...
hackerone.com
Mail.ru disclosed on HackerOne: IDOR widget.support.my.com
widget.support.my.com IDOR allows to list support tickets for few game projects. widget.support.my.com is not covered by bug bounty scope, but this vulnerability was agreed to affect lootfog.io project. lootdog.io was running preliminary bug bounty program on the time of reporting.
hackerone.com
Nord Security disclosed on HackerOne: IDOR allow access to payments...
simple send this POST request (no need any auth): `POST /api/v1/orders HTTP/1.1 Host: join.nordvpn.com Accept: application/json Accept-Language: en-US,en;q=0.5 Content-Type: application/json Content-Length: 179 DNT: 1 Connection:...
hackerone.com
"https://insecure-website.com/customer_account?customer_number=132355" böyle bir URL'de kullanıcı numarası 132355 olarak belirtilmiş, peki ben 132356 olarak request yollarsam nolabilir ? Eğer sunucu tarafında yetkisiz erişim elde edip 132356 numaralı hesabın bilgilerini elde edebiliyorsam IDOR gerçekleşmiş olacaktır. Bunu PortSwigger'ın IDOR Lab'ı üzerinden açıklayalım.
Açıklamada sistemin static URL'le sunucudaki chat loglarını depoladığını belirtiyor. "carlos" hesabına da şifresini bularak giriş yapmamızı istiyor özetle. O zaman Lab'a girelim.
Live chat bölümü ilgimi çekiyor, madem chat'ler loglanıyorsa o zaman burada ID, numara gibi parametreler olabileceğini düşünüyorum ve dalıyorum buraya.
View transcript'e tıklarsam 2,3,4,5.....txt şeklinde dosyalar indiriliyor. Peki 2.txt varsa neden 1.txt, 0.txt olmasın diye düşünüyorum ve BurpSuit'le isteği tutuyorum. Gelen isteği Repeater'ı atıp 2.txt'yi 1.txt şeklinde değiştirip request'i yolluyorum ve bingo! 1.txt sistemde var, 200 OK döndü. Karşıma da 1.txt'nin içeriği çıkıyor.
Password yazışması ilgimi çekiyor, "carlos - hzf1nqpewaeuwtct1b7q" olarak login olmayı deniyorum ve bingo! Lab'ı çözmüş olduk.
Özet olarak IDOR'u yüzeysel olarak anlattım, ne işe yaradığını ve ne tarz verilerin çekilebileceğini anlattım. Bug bounty yaparken özellikle User ID parametrelerine Intruder'la atak yapabilirsiniz. 1'den 1000'e kadar denenmesi gibi.. Ve bu şekilde kullanıcılara ait kritik verileri elde edebilirsiniz.
Okuduğunuz için teşekkür ederim.