Canyouhack.it Web Based Challenge’larının Çözümleri

Rıza Sabuncu
r1z4@blog
Published in
4 min readJan 16, 2016

Selam canlar, hafta sonu boşluğumu yeni eğlenceler aramaya başladım, aklıma bir arkadaşımın grupta paylaştığı link geldi ve girip üye oldum.

Canyouhack.it olası güvenlik açıklarını deneyimleyebileceğiniz ve çözdüğünüz her bulmaca için puan kazanabileceğiniz bir platform.

Önce birkaç scripting sorusu çözdüm, sonrası sıktı tabiiki, kategorileri incelerken Web Based kategorisi olduğunu farkettim, başladım çözmeye. :D

Soruları incelemeye başlayalım çok zırvalamadan. :p

Soru 1: Can you GET this one?

En kolay soruydu sanırım, ipucu olarak “An easy target located…” verilmiş, ve söylenilen doğru.

Verilen link’in get verisi ?page=Guest idi, mantıken bunu ?page=Admin olarak değiştirdiğimizde bize flag’i vericekti.

GetRequest

Soru 2: The way this challenge crumbles

Crumble kelimesini daha önce bilmiyordum, googleladığımda ise ufalanmış kurabiyeler gördüm, ve aklıma ilk olarak cookieleri getirdi.

EditThisCookie eklentisini kullanarak baktım ve isAdmin değerini gördüm, default 0 idi ve 1 yaptım.

ve flag elimizde.

YummyCookies

Soru3 : Take us to your leader

Soru isminden çok anlamlar çıkaramadım açıkcası, ancak verilen ipuçları kolayca soruyu çözmeme yardımcı oldu, ilk ipucumuz “An invasion?”.

Verilen sayfayı açtıktan sonra da şöyle cümlecikler bizi karşılıyor.

O kadar çok “robots” geçmiş ki maalesef yine ilk denemede buldum. Daha zor olabilirdi :p

Robots.txt’i incelediğimizde disallow olarak bi link belirlenmiş.

Robot sadece arkadaş olmak istiyormuş :(
WeRobot

Soru4: Where did you come from :S

Soru ismi bu sefer bize gerçekten yardım ediyor, nereden geldin?

Sayfada bize şöyle bir ipucu daha veriliyor,

Bizden istenen bu sayfaya google üzerinden girmemizdi.

Header’da Referer’ı http://google.com olarak değiştirdiğimizde flag i bulacaktık.

Önce postman ile denedim ancak başarılı olamadım. :D (neden olmadığını bilmiyorum)

Sonra curl ile

$ curl --referer http://google.com http://canyouhack.it/Content/Challenges/Web/Web4.php

Tadaa!

AskJeeves

Soru5: I hate it when the Dr has to do this to me.

İpucu: Click The Link Below To Edit Profile

Sayfaya GET ile bir SESSION gonderilmiş, ve burada bizden istenen profili düzenlememiz, sayfada herhangi veri gönderebilecek bir form yok. Burda hedefleri SESSION verisine dikiyoruz.

Acaba bizden ne istiyor, diye düşünürken SESSION verisinin sonuna ‘ ekledim.

Ve bizden istenen burada bir SQL Injection yapmamızdı, yani basit bir düşünceyle SESSION ne olursa olsun, 1=1 e eşit olduğundan sonuç daima olumlu dönecektir.

http://canyouhack.it/Content/Challenges/Web/Web5.php?SESSION=abf3e2d32ec32' or '1'='1' /*

Tadaa!

AppleADay

Soru6: Are you listed?

http://canyouhack.it/Content/Challenges/Web/Web6.php?File=Files6/Welcome.txt

Linkimiz bu, bir klasör icinden bir veriyi çekiyor, “Are you listed?”, bizden directory listing istiyor. hemen ufak bir deneme ile

Linkimizi

http://canyouhack.it/Content/Challenges/Web/Files6

olarak değiştiriyoruz.

Sonuç beklenildiği gibi, bir klasör icindeki veriyi döndüren bir php scripti.
Hemen ilk sayfaya dönüp File6/welcome.txt ‘i File6/passconfigs.php olarak değiştirip, php fileının içini okuyoruz.

DirListings

Soru7: It’s not listed?

İlginç ama yine çok basit bi soru geldi, sayfa kaynağına baktığımızda

Şöyle bir yapıyla karşılaşıyoruz, aynı sayfa icine Type post ediliyor,
ne seller ne de buyer. admin olmak istiyoruz sayfada :p

Postman ile uğraşmak istemedim, developer console üzerinden değeri değiştirerek postladım.

Soru8: Are you on the right path?

En sevdiğim sorulardan biri, ipucu; The password is the full local path of the file.

Flag’imizin bu sayfanın local path’i olduğunu bize söylüyor.
URL’imizde yine bir GET ile sayfa gönderiliyor.

http://canyouhack.it/Content/Challenges/Web/Web8.php?Page=Home

İlk önce biraz page ile oynasam da aklıma sayfaya hata verdirmek geldi, ve URL’i

http://canyouhack.it/Content/Challenges/Web/Web8.php?Page[]=Home

şu şekilde değiştirdim,

Rayrayroyroyroy! Local path’imiz burada ^.^

Soru9: Before sure to check for poison

Yine biraz directory listing iceren bi soru, verilen URL

http://canyouhack.it/Content/Challenges/Web/Web9.php?File=Files9/Welcome

Hemen, verilen dizine gidiyoruz.

Yine bir passconfigs.php görüyoruz

http://canyouhack.it/Content/Challenges/Web/Web9.php?File=Files9/passconfigs.php

URL’ine gittiğimizde dosyanın bulunamadığını gördüm, ve hemen nedenini araştırdım ve null byte injection olabileceğini düşündüm.

http://canyouhack.it/Content/Challenges/Web/Web9.php?File=Files9/passconfigs.php%00

Yazdığımda ise,

Tada!!

PoisonIvy

Soru10: You can’t tell me where to go!

Nereye gittiğini bana söylemiyor, ancak sayfayı açtığımda ise otomatik olarak http://canyouhack.it’e yönlendiriyor.

Curl ile sayfaya istek attığımda ise ;

Flag ortaya çıkıyor :p

wherewasi?

Sonuç

Sorular gerçekten beklediğimden kolaydı, ama hem öğrenip hem eğlendim, böyle çakçiki şeylerle uğraşmayı seviyorsanız, http://canyouhack.it/ e üye olup, soruları çözebilirsiniz. :)

--

--