Önceki makalede XSS (Siteler Arası Komut Dosyası Çalıştırma) hatalarını ve XSS Reflected'ın fiili olarak nasıl kullanıldığını öğrendik. Daha tehlikeli olduğu düşünülen başka bir XSS türü daha vardır: Depolanmış XSS.
Bilgisayar korsanlarının hedef aldığı birkaç kurbana doğrudan saldıran Reflected'ın aksine Stored XSS daha fazla kurbanı hedefliyor. Bu hata, web uygulamasının giriş verilerini veritabanına kaydetmeden önce kapsamlı bir şekilde kontrol etmemesi durumunda ortaya çıkar (burada bu kavramı, uygulama verilerini depolayan veritabanına, dosyaya veya diğer alanlara atıfta bulunmak için kullanıyorum. web).
Stored XSS tekniği ile bilgisayar korsanları bunu doğrudan istismar etmez ancak bunu en az 2 adımda yapmaları gerekir.
İlk olarak, bilgisayar korsanları veritabanına tehlikeli kod eklemek için filtrelenmemiş giriş noktalarını (form, giriş, metin alanı...) kullanır.

Daha sonra kullanıcı web uygulamasına erişip kaydedilen bu verilerle ilgili işlemleri gerçekleştirdiğinde, hacker'ın kodu kullanıcının tarayıcısında çalıştırılacaktır.
![Web8: XSS Açıklarından Yararlanmalar - Bölüm 2: Saklanan XSS Web8: XSS Açıklarından Yararlanmalar - Bölüm 2: Saklanan XSS]()
Bu noktada hacker amacına ulaşmış gibi görünüyor. Bu nedenle Stored XSS tekniğine ikinci dereceden XSS adı da verilmektedir.
Kullanım senaryosu şu şekilde açıklanmaktadır:
![Web8: XSS Açıklarından Yararlanmalar - Bölüm 2: Saklanan XSS Web8: XSS Açıklarından Yararlanmalar - Bölüm 2: Saklanan XSS]()
Yansıtılmış XSS ve Depolanmış XSS'nin saldırı sürecinde iki büyük farkı vardır.
- İlk olarak, Reflected XSS'den yararlanmak için bilgisayar korsanının kurbanı URL'sine erişmesi için kandırması gerekir. Stored XSS'de ise bunu yapmaya gerek yok, tehlikeli kodu uygulamanın veri tabanına ekledikten sonra hacker'ın kurbanın bu koda otomatik olarak erişmesini beklemesi gerekiyor. Kurbanlar için bu tamamen normaldir çünkü eriştikleri verilere virüs bulaştığını bilmezler.
- İkincisi, saldırı anında kurban hala web uygulamasında oturumdaysa hacker'ın amacına ulaşması daha kolay olacaktır. Yansıtılmış XSS ile bir bilgisayar korsanı, kurbanı oturum açmaya ve kötü amaçlı kod yürütmek için sağladığı URL'ye erişmeye ikna edebilir veya kandırabilir. Ancak Depolanan XSS farklıdır, çünkü kötü amaçlı kod Web veritabanında depolanmıştır, bu nedenle kullanıcı ilgili işlevlere her eriştiğinde, kötü amaçlı kod yürütülür ve büyük olasılıkla bu işlevler kimlik doğrulama gerektirir. kullanıcı hâlâ oturumdadır.
Bunlardan, Stored XSS'nin Reflected XSS'den çok daha tehlikeli olduğu, etkilenen kişilerin o web uygulamasının tüm kullanıcıları olabileceği görülmektedir. Mağdurun idari bir rolü varsa, web korsanlığı riski de vardır.