1. 程式人生 > >DVWA XSS攻擊示例

DVWA XSS攻擊示例

反射型XSS:

**Low等級:**任何XSS方法都可以用 **中等級:**過濾

    <script  >alert('123')</script>
    <sCript>alert('123')</script>
    <scri<script>pt>alert('123')</script>
    <img src=# onerror=alert(1)>
    <h1 onclick=alert(1)>123</h1>等等

**高等級:**過濾掉script標籤更嚴格,不能使用script標籤

<h1 onclick=alert(1)>123</h1>
<img src=# onerror=alert(1)>

等其他html標籤構造的事件還是可以使用的。

不可能等級: 在這裡插入圖片描述 用到了htmlspecialchars(),這個函式是將預定義的字元轉換為 HTML 實體。 預定義的字元是:

    & (和號)成為 &
    " (雙引號)成為 "
    ' (單引號)成為 '
    < (小於)成為 <
    > (大於)成為 >

所以暫時沒想出來咋辦咯。

儲存型XSS:

低等級:沒有過濾直接注入,但是name框有最大長度限制,所以選擇在message注入

<img src=# onerror=alert(1)>等等

中等級:因為一上來就給Message添加了htmlspecialchars函式所以不能進行注入,但是name框長度的最大限制是在html設定的,所以可以在審查元素中直接對長度進行修改。 還可以用burp抓包傳送。 高等級:message還是封死了,還是把script過濾掉了,跟中等級類似,抓包傳送等等。 在這裡插入圖片描述

不可能在這裡插入圖片描述

這裡對name和message都做了htmlspecialchars()處理,所以暫時想不出來。

DOM型XSS:

低等級:直接在網頁導航欄構造GET XSS即可完成注入 中等級:原始碼顯示會過濾掉script標籤,但是直接用<img src=# onerror=alert(1)>

沒有直接執行,嘗試閉合option沒有成功 閉合select標籤 在這裡插入圖片描述 ?#default=<script>alert("xss")</script>也可以。

高等級在這裡插入圖片描述 對傳入值進行switch判斷

?default=English #<script>alert(1)</script>

#該字元後的資料不會發送到伺服器端,從而繞過服務端過濾。