DVWA練習---反射型xss

前言:跨站腳本(Cross-Site Scripting,XSS)是一種常常出如今Web應用程序中的計算機安全漏洞,是因爲Web應用程序對用戶的輸入過濾不足而產生的。攻擊者一般利用網站漏洞把而已的腳本代碼(一般包括HTML代碼和客戶端jjavascript腳本)注入到網頁之中,當其餘用戶瀏覽這些網頁時,就會執行其中的惡意代碼,對受害用戶可能採起Cookie資料竊取,會話劫持,釣魚欺騙等各類攻擊。

0x00:
    在裝好DVWA後我便火燒眉毛的想試試,那咱們先從最簡單的xss開始。
0x01:首先在DVWA Security中將難度調節爲low(哈哈,先易後難),以後擇   Xss(Reflected)            及反射型xss開始咱們的測試。
    先來試試黑盒測試,咱們輸入<script>alert(/xss/)</script>
    發現提交後只是在下面顯示了個Hello,而咱們想要的彈窗卻沒出現。
    F12查看源碼發現<pre>標籤,猜想是<pre>標籤將<>實體化了
    從新輸入</pre><script>alert(/xss/)</script><pre>成功彈出彈窗。
    再用白盒分析如下漏洞的成因:
    上述代碼中沒有對name參數做任何過濾和檢查,存在明顯的xss漏洞。

0x01:medium模式
       先輸入</pre> <script>alert(/xss/)</script><pre>測試
    經過輸出結果分析是對<script>標籤進行了過濾,
    從新輸入
    成功彈出窗口,存在xss漏洞
    使用白盒分析漏洞緣由:
    能夠看出經過$name = str_replace('<script>','',$_GET['name'])這句代碼替換<script>標籤爲''空字符。因此咱們可使用上述的雙寫繞過。

·    另外一種方法,大小寫混淆繞過:
    輸入: </pre><SCriPt>alert(/xss/)</ScRipt><pre>
    通樣成功彈出

0X02:high模式
、服務器端核心代碼:
    能夠看到high級別一樣使用了黑名單過濾輸入的方法,str_replace()
    函數使用正則表達式的搜索和替換,這樣使得雙寫繞過和大小寫混淆不可行。
咱們能夠考慮 經過imgbody等標籤的事件或者iframe等標籤的src注入惡意的js代碼。
    輸入: </pre><img src=1 onerror=alert(/xss/)><pre>
輸入:<a href='#' onclick=alert(/xss/)>test</a>

0X03:Impossible級別
服務器端核心代碼:

能夠看到,Impossible級別的代碼使用htmlspecialchars函數把預約義的字符& <>轉換爲 HTML 實體,防止瀏覽器將其做爲HTML元素。javascript





相關文章
相關標籤/搜索