# Low

Di bawah ini adalah *source-code* dari XSS (Reflected) level low di DVWA.

```php
vulnerabilities/xss_r/source/low.php
<?php
​
header ("X-XSS-Protection: 0");
​
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Feedback for end user
    echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
​
?> 
```

## Mencari Informasi <a href="#mencari-informasi" id="mencari-informasi"></a>

Pada halaman web tersebut tedapat form yang bisa kita *submit*. Jika kita mengisi nilai *"test<'>"*, maka akan muncul seperti berikut:

![](https://gblobscdn.gitbook.com/assets%2F-LzH5Vfe8_AlGL8KPrs2%2F-M-mJXukCTI2M8lOI2EY%2F-M-nA5KC31tOCtls7IwF%2Fimage.png?alt=media\&token=9d621cb6-c1ea-4a01-97a7-0c2e3c7dd9a9)

Form tersebut menggunakan method `GET` dan jika kita *view source*, maka akan terlihat seperti berikut:

![](https://gblobscdn.gitbook.com/assets%2F-LzH5Vfe8_AlGL8KPrs2%2F-M-mJXukCTI2M8lOI2EY%2F-M-nAN4Xss-JTYoFvGS7%2Fimage.png?alt=media\&token=2b1f3fc6-c31b-400a-b3e8-09d1edad8406)

Dari hasil di atas bisa kita simpulkan bahwa tidak ada validasi atau *encoding* untuk karakter `<`, `'`, dan `>`, sehingga kita bisa dengan mudah menyisipkan *script* XSS.

## Melakukan Serangan <a href="#melakukan-serangan" id="melakukan-serangan"></a>

Karena inputan ini akan langsung menghasilkan output ke halaman web (HTML), maka kita akan coba menyisipkan *script* dengan *payload* seperti berikut:

```markup
<script>alert('Hacked')</script>
```

![](https://gblobscdn.gitbook.com/assets%2F-LzH5Vfe8_AlGL8KPrs2%2F-LzkZPo3zvmJtFO8Vysd%2F-LzkwAr6cLquegYQK_Uo%2Fimage.png?alt=media\&token=6d1bcd18-ba50-45ce-9b79-14773e1a80fc)

Dan *script* berhasil berjalan. Kenapa ini terjadi? Karena *script* yang kita sisipkan langsung ditampilkan oleh website tersebut. Untuk lebih memahaminya bisa kita lihat menggunakan *view source*.

![](https://gblobscdn.gitbook.com/assets%2F-LzH5Vfe8_AlGL8KPrs2%2F-LzkZPo3zvmJtFO8Vysd%2F-LzkwM6s4EP8trDSqmS7%2Fimage.png?alt=media\&token=eb1b1db9-8771-40fb-b4bf-eb0e7527c675)

Gimana? Mudahkan?😁

Kita juga bisa mendapatkan *cookie* dengan *payload* seperti berikut:

```
<script>alert(document.cookie)</script>
```

![](https://gblobscdn.gitbook.com/assets%2F-LzH5Vfe8_AlGL8KPrs2%2F-LzkZPo3zvmJtFO8Vysd%2F-Lzkx39hvpdvgZVD3rLX%2Fimage.png?alt=media\&token=b2c35c5b-a994-4b94-89db-200fea3be787)

Happy Hacking! 🍻
