<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 一、XSS的測試技巧和工具: ### 測試方法 1. 工具掃描:APPscan、awvs、burpsuite、XSSER XSSF 2. 手動測試:Burpsuite、firefox(hackbar) 1)在目標站點上找到輸入點,比如查詢接口,留言板等; 2)輸入一組"特殊字符+唯一識別字符",點擊提交后,查看返回的源碼,是否有做對應的處理; 3)通過搜索定位到唯一字符,結合唯一字符前后語法確認是否可以構造執行js的條件(構造閉合);提交構造的腳本代碼,看是否可以成功執行,如果成功執行則說明存在XSS漏洞; **第一種情況:可得知輸出位置** 輸入一些敏感字符,例如、"、'、()等等,在提交請求后去查看HTML源代碼,看這些輸入的字符是否被轉義。 在輸出這些敏感字符的時候,很有可能程序已經做過了過濾,那么你在尋找這些字符的時候就不是那么容易了,這時候你可以直接輸入`XXSER<>"'&`,然后在查找源代碼的時候直接進行查找XXSER或許比較方便一些。 **第二種情況:無法得知輸出位置** 非常多的Web應用程序源代碼是不對外開放的,這時在進行測試XSS時就有可能無法得知輸入數據到底在何處顯示,比如測試某留言本是否存在XSS,那么在留言之后,你必須要經過管理員的審核才能進行顯示,這時你是無法得知,你輸入的數據在后臺管理頁面處于何種狀態。 ### 萬能XSS漏洞payload ~~~ "/></textarea><script>alert(1)</script> ~~~ **三種彈窗函數** 僅彈窗:alart 彈輸入框:prompt 彈是否:confirm ### XSS輔助工具 1. beef:https://beefproject.com/ 一個xss攻擊框架,參考https://www.freebuf.com/articles/web/175755.html 2. xssor:http://xssor.io 免費的JavaScript在線入侵工具 3. xss平臺: 在線的xss平臺,有很多,自行搜索 4. ie tester:http://www.ietester.cn/ 可以模擬測試各種版本的老IE瀏覽器 ## 二、三種xss實戰 ### A、 存儲型xss實戰 1. 存儲型xss原理 攻擊者在頁面上插入xss代碼,服務端將數據插入數據庫,當用戶訪問到xss漏洞的頁面時,服務端從數據庫中取出數據展示到頁面上,導致xss代碼執行,達到攻擊效果 2. 可能存在存儲型xss的功能點 在頁面上所有可以輸入并保存數據的地方,都可以嘗試使用xss代碼進行測試 3. 存儲型xss漏洞的挖掘方法 嘗試在輸入的內容中加入如下字段,如果保存后的頁面,打開彈出提示xss提示框,就表示有xss漏洞 ``` <img scr=x onerror=alert(1)> ``` 4. 存儲型xss部分場景修復 使用過濾函數,過濾輸入內容中的html標簽等 ### B、反射型xss 1. 反射型xss原理 攻擊者在url中插入xss代碼,服務端將url中的xss代碼輸出到頁面上,攻擊者將帶有xss代碼的url,想辦法欺騙用戶點擊,用戶打開后收到xss攻擊 2. 可能存在反射型xss的功能 url地址中帶有參數的網頁,是重點關注的區域、頁面的搜索框是重中之重 3. 反射型xss漏洞挖掘方法 以某頁面的搜索功能為例,在搜索框中輸入任意字符,如“aaaaa”,然后在瀏覽器源碼中搜索輸入的 關鍵字,找到關鍵字所在的標簽,使用閉合標簽的方式閉合掉標簽,并插入xss代碼,看是否會有xss漏洞,如: ```html url=xxxx/search.html?ks=aaaa 關鍵字在title中,如<title>aaaa</title>,可以將url如下閉合并測試xss url=xxxx/search.html?ks=aaaa</title><script>alert(1)</script> 關鍵字在imput中,如<input placeholder="搜索" type="texg" name="ks" value="aaaa">,可以如下閉合 url=xxxx/search.html?ks=aaaa"<script>alert(1);</script> ``` 4. 反射型xss部分場景的修復 使用函數轉義輸入內容中的html代碼 ### C、DOM型xss 攻擊者在url中插入xss代碼,前端頁面直接從url中獲取xss代碼輸出到頁面上,攻擊者將帶有xss代碼的url,想辦法欺騙用戶點擊,用戶打開后收到xss攻擊 其他和反射型類似(略) ## 三、XSS的防御策略: * * * **只要有輸入數據的地方,就可能存在 XSS 危險。永遠不相信用戶的輸入。需要對用戶的輸入進行處理,只允許輸入合法的值,其它值一概過濾掉。** **XSS防御的總體思路是:** 對輸入進行過濾,對輸出進行編碼 1. httpOnly:在 cookie 中設置 HttpOnly 屬性后,js腳本將無法讀取到 cookie 信息。 2. 輸入過濾:一般是用于對于輸入格式的檢查,例如:郵箱,電話號碼,用戶名,密碼……等,按照規定的格式輸入。 不僅僅是前端負責,后端也要做相同的過濾檢查。因為攻擊者完全可以繞過正常的輸入流程,直接利用相關接口向服務器發送設置。 3. 轉義 HTML:如果拼接 HTML 是必要的,就需要對于url中的引號,尖括號,斜杠進行轉義,但這還不是很完善.想對 HTML 模板各處插入點進行充分的轉義,就需要采用合適的轉義庫。 例如:·htmlspecialchars()·函數把一些預定義的字符轉換為 HTML 實體 ~~~ #預定義的字符是: & (和號) 成為 &amp " (雙引號) 成為 &quot ’ (單引號) 成為 &#039 < (小于) 成為 &lt > (大于) 成為 &gt ~~~ 4. 白名單:對于顯示富文本來說,不能通過上面的辦法來轉義所有字符,因為這樣會把需要的格式也過濾掉。 這種情況通常采用白名單過濾的辦法,當然也可以通過黑名單過濾,但是考慮到需要過濾的標簽和標簽屬性實在太多,更加推薦使用白名單的方式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看