Blogumu açalı çok uzun bir süre olmamasına rağmen, son zamanlarda blog postlarıma düzenli olarak 1 puan verildiğini farketim. Normalde rating sistemini, yazılarımın kalitesinin değerlendirilmesi için kullanmayı düşündüğüm için aktif ettim. Ancak düzenli olarak tüm blog postlarıma 1 puan verilmesini şüphe ile karşıladım. Ve bunun üzerine, mühendislik yeteneklerimi kullanarak gitmeye karar verdim.
BlogEngine Rating
İşe BlogEngine rating yapısını incelemekle başladım. Tabi bunun için öncelikle BlogEngine kaynak kodlarını indirmem gerekiyordu ve şuradan indirdim. Biraz inceledikten sonra HttpHandlers dizini içerisinde RatingHandler.cs dosyasında bu işi yürüten bir handler olduğunu gördüm. Ve sonrasında, verilen oyları ip adres ve post bilgisi ile kaydetmeye karar verdim. Bunu sağlamak için RatingHandler.cs dosyası içine aşağıdaki satırları ekledim.
Kodu tekrar derleyip üretilen DLL dosyalarını sunucuya attığımda artık kim, ne zaman, hangi posta kaç puan vermiş öğrenebilmeye başladım. Sonuçta elde ettiğim ratings.txt dosyası aşağıdaki gibi oldu:
Rating kaydetmeyi açalı çok uzun süre olmamasına rağmen resimde gördüğünüz üzere 1 puanımı yine aldım. Bu aşamadan sonra, bu IP adresine ait bilgi toparlamaya geçtim. Buna da öncelike bu oyu veren kişinin şehrini bulma ile başladım. http://www.maxmind.com/app/lookup_city adresine ip adresini girdiğimde bana aşağıdaki bilgileri verdi:
| Hostname | Country Code | Country Name | City | ISP |
| 88.231.253.59 |
TR |
Turkey |
Ankara |
Turk Telekom |
Artık postlarıma sürekli 1 veren kişinin Ankaradan birisi olduğunu bulmuştum. Kim olduğuna dair de birkaç tahminim vardı ve işin bu kısmından sonrasını Sosyal Mühendislik ile halletmeye karar verdim.
Sosyal Mühendislik
Tüm zamanların en geçerli hacking metodu olarak bilinen Sosyal Mühendislik tanımını Wikipedia'dan aktarıyorum: "social engineering is the art of manipulating people into performing disclosure actions or divulging confidential information." Yani kısaca özetlemek gerekirse, ip adresinin sahibini, kendisinden öğrenecektim. Bunu yapabilmek için, ip adresini kaydedebileceğim basit bir sayfa hazırladım. Sayfa basit olarak ip adresini kaydedip, sonrasında yine blog anasayfama yönlendirecekti. Sayfanın kaynak kodları ise şu şekilde:
Sonrasında bu sayfayı sunucuma koyarak yayına aldım ve şüphelendiğim kişiye bu adrese girmesi için bir mesaj gönderdim. Zaten sitem hakkında çok meraklı olan arkadaş hemen atladı ve sayfaya girdi. Bu şekilde bende amacıma ulaşmış oldum. Artık IP adresi elimdeydi. IP adresi şu şekilde:
Bingo! Tahminim doğruydu! Daha önceki rating dosyası ile karşılaştırdığımda iki IP adresininde aynı olduğunu görmek beklediğim sonuçtu. Bu şekilde ilk ciddi sosyal mühendislik deneyimimi başarıyla tamamlamış oldum.
Bana BlogEngine konusundaki bilgilerimi artırma ve ilk Sosyal Mühendislik deneyimimi yaşama fırsatı verdiği için buradan arkadaşım Alp Çoker'e teşekkürlerimi sunuyorum...
P.S:
Bugün sitemdeki linke tıklandığında açılan sayfaya bir not bırakılmış. Bu notta rating verirken özel bir maksat güdülmediği, tarafsız şekilde sevilme derecesine göre gerekene 5 verildiği de söylenmiş. Yazımda da görebileceğiniz üzere ben tek bir örneği verdim. Ancak arkadaşın bu tavrı üzerine Server loglarını incelediğimde, arkadaşın bahsettiğinin dışında bir tablo ile karşılaşmak beni hiç şaşırtmadı. Aşağıda size bu loglardan birkaç kayıt veriyorum:
2008-08-09 10:48:04 W3SVC9705 72.232.84.186 GET /rating.axd id=3822bc06-cced-4721-95e9-ee77e56cf221&rating=1 80 - 88.231.253.59 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US;+rv:1.9.0.1) +Gecko/2008070208+Firefox/3.0.1 rating=f8f419a2-181b-4404-90d4-04ee45ae5db05d86fc70- 3436-4799-8b08-24912ba4bd4890a913f7-ed1e-4b88-bc07-f27dd63c1bf797eac6a7-4e7d- 4bf8-8227-d15f882f5a76897701e5-3784-4ddd-9c57- 15aed7d0c7125572e896-43fe-4505-ae5b-93ac47d0b0fe http://www.ozlemhancioglu.com/ 200 0 0 512 711 515
2008-08-09 10:48:14 W3SVC9705 72.232.84.186 GET /rating.axd id=97eac6a7-4e7d-4bf8-8227-d15f882f5a76&rating=1 80 - 88.231.253.59 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0; +en-US;+rv:1.9.0.1)+Gecko/2008070208+Firefox/3.0.1 rating=f8f419a2-181b-4404-90d4-04ee45ae5db05d86fc70- 3436-4799-8b08-24912ba4bd4890a913f7-ed1e-4b88-bc07-f27dd63c1bf797eac6a7- 4e7d-4bf8-8227-d15f882f5a76897701e5-3784-4ddd-9c57- 15aed7d0c7125572e896-43fe-4505-ae5b-93ac47d0b0fe3822bc06- cced-4721-95e9-ee77e56cf221 http://www.ozlemhancioglu.com/ 200 0 0 198 747 421
2008-08-09 18:15:56 W3SVC9705 72.232.84.186 GET /rating.axd id=3822bc06-cced-4721-95e9-ee77e56cf221&rating=1 80 - 88.231.253.59 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+WOW64;+Mozilla/4.0+ (compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+;+SU+3.011;+SLCC1;+ .NET+CLR+2.0.50727;+.NET+CLR+3.0.04506;+.NET+CLR+3.5.21022; +InfoPath.2;+WWTClient2;+MS-RTC+LM+8) - http://ozlemhancioglu.com/default.aspx 200 0 0 296 501 656
Logların tamamı elimde olmasına ve tamamında aynı durum bulunmasına karşın buraya 3 örneği koydum. Gördüğünüz gibi bu üç örnekte de rating olarak 1 verilmiş. Arkadaşım sitesinde, cookieleri silmediğini, gerekirse bunları kanıt olarak gösterebileceğini belirtmiş. Ben cookieleri de loglardan silmedim. Ancak sizinde görebileceğiniz üzere, sayfaya iki farklı tarayıcıdan (IE7 ve Firefox 3.0.1) oy kullanıldığı görülebliyor. Birinci ve üçüncü log kayıtlarında, tarayıcıların farklı olmasına karşın oy kullanılan postların aynı olması da ilginç. Aynı post iki farklı tarayıcıdan 1 olarak değerlendirilmiş.
Bir diğer konu da, BlogEngine sürümümü yükselttikten sonra beta testlerimi yaparken admin kullanıcısını silmemiş olmam. Uyardığı için teşekkür ederim tekrar. Ancak arkadaş sitesinde, istese blogumu çökertebileceğini belirtmiş. Daha sonradan da, bunu onun yaptığını hiçbir şekilde ispatlayamayacağımı söyledi. Bunu ispatlamak için yine Server Loglarına bakalım:
2008-08-09 19:42:25 W3SVC9705 72.232.84.186 POST /login.aspx ReturnUrl=%2fpage.aspx%3fid%3da128d0b0-acda-4c45-b6e3-e62c308efb40 80 - 88.231.253.59 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+WOW64;+Mozilla/4.0+ (compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+;+SU+3.011;+SLCC1;+.NET+CLR+2.0.50727;+ .NET+CLR+3.0.04506;+.NET+CLR+3.5.21022;+InfoPath.2;+ WWTClient2;+MS-RTC+LM+8) rating=3822bc06-cced-4721-95e9-ee77e56cf221 http://ozlemhancioglu.com/login.aspx?ReturnUrl=%2fpage.aspx%3fid%3da128d0b0-acda-4c45-b6e3-e62c308efb40 302 0 0 4224 1760 968
2008-08-09 19:42:25 W3SVC9705 72.232.84.186 GET /page.aspx id=a128d0b0-acda-4c45-b6e3-e62c308efb40 80 - 88.231.253.59 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+WOW64;+Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) +;+SU+3.011;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506;+ .NET+CLR+3.5.21022;+InfoPath.2; +WWTClient2;+MS-RTC+LM+8) rating=3822bc06-cced-4721-95e9-ee77e56cf221; http://ozlemhancioglu.com/login.aspx?ReturnUrl=%2fpage.aspx%3fid%3da128d0b0-acda-4c45-b6e3-e62c308efb40 200 0 0 6029 1138 484
2008-08-09 19:42:45 W3SVC9705 72.232.84.186 GET /admin/Pages/referrers.aspx - 80 - 88.231.253.59 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+WOW64; +Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+;+SU+3.011;+SLCC1; +.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506;+ .NET+CLR+3.5.21022;+InfoPath.2; +WWTClient2;+MS-RTC+LM+8) rating=3822bc06-cced-4721-95e9-ee77e56cf221; http://ozlemhancioglu.com/page.aspx?id=a128d0b0-acda-4c45-b6e3-e62c308efb40 200 0 0 4894 1552 359
2008-08-09 19:42:50 W3SVC9705 72.232.84.186 GET /admin/Pages/Settings.aspx - 80 - 88.231.253.59 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0; +WOW64;+Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+; +SU+3.011;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506;+.NET+CLR+3.5.21022; +InfoPath.2; +WWTClient2; +MS-RTC+LM+8) rating=3822bc06-cced-4721-95e9-ee77e56cf221; http://ozlemhancioglu.com/admin/Pages/referrers.aspx 200 0 0 12289 1528 812
2008-08-09 19:43:24 W3SVC9705 72.232.84.186 GET /admin/Pages/Profiles.aspx - 80 - 88.231.253.59 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+7.0; +Windows+NT+6.0;+WOW64;+Mozilla/4.0+(compatible;+MSIE+6.0; +Windows+NT+5.1;+SV1)+;+SU+3.011;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+ 3.0.04506;+.NET+CLR+3.5.21022;+InfoPath.2; +WWTClient2;+MS-RTC+LM+8) rating=3822bc06-cced-4721-95e9-ee77e56cf221; http://ozlemhancioglu.com/admin/Pages/Settings.aspx 200 0 0 10990 1527 484
Gördüğünüz gibi arkadaşın hangi tarih ve saatte hangi ip adresinden hangi sayfalara girdiği, admin panelim dahil görülebiliyor. Bu şekilde arkadaşın servera ulaştığını, bana özel sayfalara eriştiği bilgisini görebiliyoruz. Peki bu bilgiler ne işimize yarar? Arkadaşım sayfamı patlatmış olsaydı ne olurdu? Bununla ilgili olarak Türk Ceza Kanununun ilgili maddesini aynen aktarıyorum.
TÜRK CEZA KANUNU
Maddeler: 243 - 246
2. Kitap, 3. Kısım,
ONUNCU BÖLÜM
Bilişim Alanında Suçlar
Bilişim sistemine girme
Madde 243 - (1) Bir bilişim sisteminin bütününe veya bir kısmına, hukuka aykırı olarak giren ve orada kalmaya devam eden kimseye bir yıla kadar hapis veya adlî para cezası verilir.
(2) Yukarıdaki fıkrada tanımlanan fiillerin bedeli karşılığı yararlanılabilen sistemler hakkında işlenmesi hâlinde, verilecek ceza yarı oranına kadar indirilir.
(3) Bu fiil nedeniyle sistemin içerdiği veriler yok olur veya değişirse, altı aydan iki yıla kadar hapis cezasına hükmolunur.
Sistemi engelleme, bozma, verileri yok etme veya değiştirme
Madde 244 - (1) Bir bilişim sisteminin işleyişini engelleyen veya bozan kişi, bir yıldan beş yıla kadar hapis cezası ile cezalandırılır.
(2) Bir bilişim sistemindeki verileri bozan, yok eden, değiştiren veya erişilmez kılan, sisteme veri yerleştiren, var olan verileri başka bir yere gönderen kişi, altı aydan üç yıla kadar hapis cezası ile cezalandırılır.
Gördüğünüz üzere, arkadaşım Türk ceza kanununa göre, şu anda bile suçlu durumunda. Tabiiki iyi niyetini göz önüne alarak kendisinden şikayetçi olmayacağım. Ama sitemi değiştirseydi, çökertseydi, erişilmez kılsaydı, yada postlarımı değiştirseydi, uygulanabilecek ceza miktarlarını görebiliyorsunuz. Yani her türlü bilişim sisteminde olduğu gibi burda da loglar mevcut ve geçerli. Bu tip bir durumda kullanılmak üzere...
Blog yayınlamam için sağladığı web alanı ve server loglarına ulaşma konusundaki yardımları için Ömer Çelik'e teşekkürlerimi sunuyorum...