上QQ阅读APP看书,第一时间看更新
1.5 Testfire网站有HTML注入风险
缺陷标题:国外网站AltoroMutual出现登录失败后页面文字显示异常的错误。
测试平台与浏览器:Windows 7+Google浏览器+Firefox浏览器。
测试步骤:
1)打开国外网站:http://demo.testfire.net。
2)单击“Sign In”。
3)在Username输入框输入“<script>alert("TEST")</script>”,在Password输入框输入任意字符(如图1-9所示),单击“Login”按钮。
图1-9 用户名输入XSS攻击代码段
期望结果:出现提示登录失败的正常页面。
实际结果:Username输入框后出现其他字符(如图1-10所示)。
[攻击分析]:
如果程序员对用户输入不做合法性校验,就容易导致数据库注入、XSS攻击、HTML注入攻击,导致网页结构被破坏、网站被框架等一系列意想不到的结果。
如果程序员对从数据库中取得的数据在显示展出时,不做适当的编码,直接输出到网页中,也会出现各种意想不到的效果,可能导致XSS攻击、网页结构被破坏、网站被框架等。
图1-10 网页结构被破坏,部分源代码显示出来
所以输入有效性验证和输出使用适当的编码是程序员需要考虑的事,这也是一个系统是否健壮的衡量指标。
本例由于程序员没有做输入有效性检查,同时输出时也没有做适当的编码输出,导致网页结构被破坏、部分源代码被展示出来。