5.4 Within Security内容欺骗漏洞
难度:低
URL:https://withinsecurity.com/wp-login.php
报告位置:https://hackerone.com/reports/111094/
报告日期:2016年1月16日
支付奖金:250美元
Within Security是HackerOne的一个网站,主要用于共享安全新闻。它构建于WordPress之上,并且在页面with-insecurity.com/wp-login.php中包含了一个标准的WordPress登录路径。黑客注意到在登录的过程中,如果发生了错误,Within Security会返回一个access_denied错误消息,这与如下URL中的error参数是一样的:
注意到这一点,黑客会尝试修改该参数内容。结果就是,网站会将传递给该参数的任何值作为错误信息的一部分显示给用户,即使URI编码的字符也可以正常解码。下面是黑客修改后的URL的例子:
该参数将作为一个错误消息显示在WordPress登录域之上。该消息引导用户去联系黑客控制的电话号码或邮箱(见图5-1)。
图5-1 黑客可以注入“警告信息”到WordPress的管理页面
这里的关键是URL中error参数的内容会在页面上进行显示。简单地测试你是否可以修改access_denied参数值就能发现该漏洞。
要点
注意被作为网站内容进行传递和呈现的URL参数。这些参数可能会给文本注入漏洞提供机会,从而使黑客可以利用这些漏洞针对目标对象进行钓鱼。在网站上呈现可控的URL参数有时会导致跨站脚本攻击(将在第7章介绍)。除此之外,该漏洞只能造成影响较小的内容欺骗和HTML注入攻击。虽然平台根据该报告支付了250美元,但这是针对Within Security的可以支付的最低奖金。并不是所有的漏洞奖励项目都认可HTML注入和内容欺骗报告并愿意支付奖金,就像社会工程学一样,最后能否成功太依赖于目标对象已经被注入文本欺骗了这个前提。