![网络空间安全实验教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/986/41864986/b_41864986.jpg)
上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”按钮。
![](https://epubservercos.yuewen.com/46BF24/21889220001185706/epubprivate/OEBPS/Images/978-7-111-66547-2_26_01.jpg?sign=1739189218-1Yev8AGnnWfth73OhHNOlhKf8zncCd0e-0-9e869fdcb59d5653c373c7f7e998ef65)
图1-9 用户名输入XSS攻击代码段
期望结果:出现提示登录失败的正常页面。
实际结果:Username输入框后出现其他字符(如图1-10所示)。
[攻击分析]:
如果程序员对用户输入不做合法性校验,就容易导致数据库注入、XSS攻击、HTML注入攻击,导致网页结构被破坏、网站被框架等一系列意想不到的结果。
如果程序员对从数据库中取得的数据在显示展出时,不做适当的编码,直接输出到网页中,也会出现各种意想不到的效果,可能导致XSS攻击、网页结构被破坏、网站被框架等。
![](https://epubservercos.yuewen.com/46BF24/21889220001185706/epubprivate/OEBPS/Images/978-7-111-66547-2_27_01.jpg?sign=1739189218-A97sy4vk6DqheVFr783BfKKFh2woPZcu-0-970b51f0c7145f0009e3cb63eacd9500)
图1-10 网页结构被破坏,部分源代码显示出来
所以输入有效性验证和输出使用适当的编码是程序员需要考虑的事,这也是一个系统是否健壮的衡量指标。
本例由于程序员没有做输入有效性检查,同时输出时也没有做适当的编码输出,导致网页结构被破坏、部分源代码被展示出来。