1.4 未过滤HTML代码漏洞

漏洞描述

未对客户端的输入进行过滤,导致可以注入任意的代码,HTML注入只注入了超文本标记语言,不涉及富文本程序代码的问题。

漏洞等级

低危

漏洞危害

由于 HTML 是用于定义网页结构的语言,如果攻击者可以注入 HTML,它们基本上可以改变浏览器呈现的内容。 有时,这可能会导致页面外观的完全改变,或在其他情况下,创建表单来欺骗用户,例如,如果你可以注入 HTML,你也许能够将 标签添加到页面,要求用户重新输入他们的用户名和密码。 然而,当提交此表单时,它实际上将信息发送给攻击者。

漏洞利用

Get、Post型(无过滤)

原理一样,只是提交方式不同,构造如下url进行测试

http://192.168.0.100/bWAPP/htmli_get.php?firstname=<iframe src="http://www.baidu.com" width="800" height="600"></iframe>&lastname=test&form=submit

反射型(Current URL)

构造如下url

http://172.17.207.70/bWAPP/htmli_current_url.php?<p>HTML-Injection-Reflected(URL)</p>

注:仅在IE下测试成功

存储型

反射型页面刷新后就不存在了,而存储型是写入了服务器数据库,刷新后照样存在。 因此,存储型危害性大大大于反射型。

文本域输入如下代码

<p style="color:red">HTML Injection – Stored</p>

界面回显

漏洞修复

严格过滤用户输入的数据。

参考跨站脚本漏洞修复方案。