Web1.0时代——静态页面:html或者htm,是一种静态的页面格式,不需要服务器解析其中的脚本,由浏览器如解析。
Web2.0时代——动态页面:asp、aspx、php、jsp等,由相应的脚本引擎来解释执行,根据指令生成静态网页,在前端使用脚本程序增强交互。
1.依赖数据库
2.灵活性好,维护简便
3.交互性好,功能强大
4.存在安全风险,例如注入、跨站、上传等攻击
Web安全:Web业务平台的不安全性主要是由Web平台的特点,即开放性所致。
根据 Gartner 的调查,信息安全攻击有 75% 都是发生在 Web 应用层而非网络层面上。
根据世界上权威的Web安全与数据库安全研究组织OWASP提供的报告,目前对Web业务系统威胁最严重的两种攻击方式是SQL注入攻击和XSS跨站脚本攻击。
SQL注入:
由于程序中对用户输入检查不严格,用户可利用应用程序根据提交的数据动态生成SQL命令的特性,在URL、表单域,或者其他的输入域中输入自己的SQL命令,改变SQL命令的操作,将被修改的SQL命令注入到后端数据库引擎执行。
其成因可以归结为以下两个原因:
(1)程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句。
(2)未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。
最终,用户提交的参数数据未做充分检查过滤即被代入到SQL命令中,改变了原有SQL命令的“语义”,且成功被数据库执行。
XSS跨站——反射型
反射型跨站通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。
XSS跨站——存储型
因为存储外部数据而引发的XSS漏洞,存储型XSS漏洞广泛出现在允许Web用户自定义显示信息及允许Web用户上传文件信息的Web应用程序中,大部分的Web应用程序都属于此类。