由于B/S建立在互联网上,对安全的控制能力较弱,且开发人员的水平和经验参差不齐,相当一部分的程序员在编写代码时没有对用户的输入数据或者是页面中所携带的信息进行必要的合法性判断。攻击者利用这个机会提交一段数据库查询代码,根据程序返回的结果,就可以获得一些数据库信息。
四层WEB架构
表示层:WEB浏览器/呈现引擎,负责访问URL和呈现HTML
逻辑层:编程语言:C#、PHP、JAVA,负责加载、编译和执行jsp/asp/php页面与发送HTML
应用层:SOAP、RMI WEB服务等,负责利用应用程序和业务逻辑与数据存储交互和为Web服务器提供数据
存储层:数据库MSSQL、MYSQL、Oracle,执行SQL和返回数据