中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html注入是什么意思

發布時間:2021-06-21 11:41:15 來源:億速云 閱讀:246 作者:chen 欄目:web開發

本篇內容介紹了“html注入是什么意思”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

HTML注入是一種漏洞,一種網絡攻擊方式,當網頁無法清理用戶提供的輸入或驗證輸出時,攻擊者就可以偽造自己的有效負載,并通過易受攻擊的字段將惡意HTML代碼注入應用程序,從而修改網頁內容,甚至獲取一些敏感數據。

本教程操作環境:windows7系統、HTML5版、Dell G3電腦。

什么是HTML注入?

HTML注入(Hypertext Markup Language Injection)中文意思是“超文本標記性語言注入”,眾所周知HTML含有各種標簽,如果Web應用程序對用戶輸入的數據沒進行徹底的處理的話,那么一些非法用戶提交的數據可能含有HTML其他標簽,而這些數據又恰好被服務器當作正常的HTML標簽顯示,那么最終的結果是非法標簽被解析(可以應用于釣魚、社會工程學等),對其他用戶造成很大影響。

攻擊者可以偽造自己的有效負載,并通過易受攻擊的字段將惡意HTML代碼注入應用程序,從而修改網頁內容,甚至獲取一些敏感數據。

HTML注入與XSS的區別

XSS(Cross-site Scripting)中文翻譯是“跨站腳本攻擊”,XSS本質上是HTML注入攻擊,但又不同于HTML注入,XSS利用腳本標記運行JavaScript等腳本程序,可以通過JavaScript獲取機密數據和一些列危險操作,而HTML注入只是使用HTML標簽修改頁面內容。

HTML Injection - Reflected (GET)

反射型HTML注入(GET方式)

First name填入< p style=“color:red”>html< /p>,Last name填入test,發現html字母變成紅色,說明我們寫入的html代碼成功執行了,此網站存在html注入。

html注入是什么意思

HTML Injection - Reflected (POST)

反射型HTML注入(POST方式)

注:GET方式提交數據后瀏覽器地址欄會把提交的數據顯示出來,POST則不會顯示。

與上面GET方式一樣
Firstname填入

html2

,Last name填入test,發現html2字母變成綠色,說明我們寫入的html代碼成功執行了,此網站存在html注入。
html注入是什么意思

HTML Injection - Reflected (Current URL)

反射型HTML注入(Current URL)

首先,我們分析下源碼
核心代碼

 <div id="main">

    <h2>HTML Injection - Reflected (URL)</h2>

    <?php echo "<p align=\"left\">Your current URL: <i>" . $url . "</i></p>";?>

</div>

這段代碼中有一段PHP代碼,執行html語句,輸出一段“Your current URL:”字符,并調用$url變量,將輸出的內容跟在后面。

防護代碼

$url= "";

        
switch($_COOKIE["security_level"])
{

    case "0" :

        // $url = "http://" . $_SERVER["HTTP_HOST"] . urldecode($_SERVER["REQUEST_URI"]);
        $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];                  //$url= ''接受的參數來自請求頭HOST和URL
break;

    case "1" :

        $url = "<script>document.write(document.URL)</script>";
        break;

    case "2" :

        $url = "http://" . $_SERVER["HTTP_HOST"] . xss_check_3($_SERVER["REQUEST_URI"]);
        break;

    default :

        // $url = "http://" . $_SERVER["HTTP_HOST"] . urldecode($_SERVER["REQUEST_URI"]);
        $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];               
        break;

}


<select name="security_level">
            
            <option value="0">low</option>
            <option value="1">medium</option>
            <option value="2">high</option> 
            
        </select>

閱讀防御代碼可以了解到根據設置的難度不通,調用的防御代碼也不同。

(1)LOW

將等級設置為Low時,執行下面的語句

$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];

這里的 $_SERVER[“HTTP_HOST”]表示獲取當前域名
這里的 $_SERVER[“REQUEST_URI”]”是獲取域名后面的完整的地址路徑

通過burp抓包修改host參數,可以發現頁面上發生了變化


html注入是什么意思
html注入是什么意思

(2)medium

將等級設置為medium時,執行下面的語句

$url = "<script>document.write(document.URL)</script>";

這里的document對象代表整個HTML文檔,可用來訪問頁面中的所有元素;

document.write()是動態向頁面寫入內容
document.URL是設置URL屬性從而在同一窗口打開另一頁面

(3)high

將等級設置為high時,執行下面的語句

$url = "http://" . $_SERVER["HTTP_HOST"] . xss_check_3($_SERVER["REQUEST_URI"]);

這里調用了xss_check_3函數對host后面的部分進行了過濾處理,使得無法進行注入。

HTML Injection - Stored (Blog)

存儲型HTML注入

注:反射型頁面刷新后就不存在了,而存儲型是寫入了服務器數據庫,刷新后照樣存在。

因此,存儲型危害性大大大于反射型。

在文本域輸入<p style=”color:red”>HTML </p>即可成功解析p標簽,說明存在HTML注入。
html注入是什么意思

“html注入是什么意思”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韶山市| 凌云县| 平塘县| 通州区| 宜兰市| 丰顺县| 太康县| 太谷县| 封开县| 双江| 延吉市| 中超| 建始县| 永宁县| 扎赉特旗| 揭西县| 商洛市| 苏尼特右旗| 德格县| 阿合奇县| 承德县| 徐汇区| 额尔古纳市| 灵川县| 永城市| 扶沟县| 宝山区| 登封市| 宁河县| 广河县| 海口市| 邯郸县| 循化| 河曲县| 那曲县| 弥渡县| 玉林市| 阜城县| 田东县| 裕民县| 龙游县|