Bu yazımızda vulnhub makinesi olan metasploitable 2’nin DVWA adlı web pentest ortamının stored xss orta seviyesini inceleyip anlatacağım. Bu yazımızda bir önceki yazımıza kıyasla medium güvenlik önlemini ilk önce öğrenip sonrasında güvenlik önlemini nasıl atlatacağımı göstermektir.
Stored XSS Medium Levelinde güvenlik kodlarına bakacak olursak alttaki gibi bir str_replace()<script> kodu ile gireceğimiz olan script kodlarını engellemiş oluyor. Bu bir güvenlik önlemidir.
Fakat bu güvenlik önlemini daha önceki derslerdeki kullandığımız <scr<script>ipt> kod yazımı şeklinde aşmış oluyoruz. Bunun sebebi de aslında çok basittir. Ve kolay kolay hiçbir şekilde bu tarz bir güvenlik önlemiyle karşılaşılmamaktadır. Gözden kaçan istisnalar dışında .
Recursive yani yinelemeli bir fonksiyon olmadığı için script kodunu sildikten sonra geride kalan scripti görmüyor ve zafiyeti sömürmüş oluyoruz.
Geri kalan işlemler ise low level ile aynı olacaktır. Eğer bakmadıysanız Low levele bir önceki yazı seçeneğinden bakabilirsiniz. Low level güvenlik önleminde 14. satırda gösterilen kodun script kısmının olmadığını ve hiçbir denetlemeye tabi tutulmadığı görülmektedir. Fakat medium levelinde bu satır sayesinde script tagı bulunduğu zaman silinmektedir. Fakat yine yeterli değildir çünkü bir döngü içerisinde olmadığı için yinelemeli (recursive) bir döngü iç içe yazıldığı zaman 2. script tagı silinmeyecektir.
Sonuç olarak güvenliğin ne olduğunu bilmekte o güvenliği aşmamız bizim için önemlidir. Bu güvenlik açıklarını da bizim için araçlar otomatik olarak bulmaktadır.