web应用程序安全与风险

web应用程序安全与风险

web渗透测试概述

web应用程序发展历程

从1.0到3.0时代,1.0HTML服务端客户端一样,2.0交互式有了数据库,3.0可以在浏览器就可以实现复杂的系统程序才有的功能,用户可以用自己的数据在很多网站使用。
静态内容HTML CGI程序阶段(增加了API接口,可以动态) 脚本语言阶段(ASP,PHP,JSP等)
瘦客户端阶段(独立于Web服务器的应用服务器 WebMVC)

RIA(DHTML+Ajax 可以不用刷新功能内容可变) 移动Web 安卓 IOS

web应用优点

1.http是用于访问万维网的核心通信协议,轻量级,不用连接,有容错性,客户端服务器不用再向每一个用户开放网络连接
2.浏览器功能强大,内容丰富,应用程序都交给客户端脚本功能完成
3.开发相对简单

web应用程序安全(缺点)

不完善的身份验证措施
登录机制的缺陷,简单密码可以蛮力破解,避开登录
不完善的访问控制措施
应用程序无法为数据和功能提供保护,攻击者可以查看服务器中敏感信息,
进行特权操作
SQL注入
提交专门设计的输入,干扰应用程序与后端数据局交互,可以从数据库提取信息,破坏逻辑结构 跨站点脚本XSS
可以攻击其他用户,访问信息
信息泄露
应用程序泄漏敏感信息
跨站点请求伪造(CSRF)
诱导用户无意间使用自己用户权限对应用程序执行操作
核心问题
用户可以干预客户端与服务器之间传送的数据,
请求参数
cookie
HTTP信息头
可以轻易避开客户端执行的安全控件,如输入确认验证
用户可按照任何顺序发送请求
要求之外的不同阶段
不止一次提交
一次都不提交
用户操作可能对开发人员对用户与应用程序之间交互方式作出的假设有很多不同
不限于用一种Web浏览器访问应用程序,有很多攻击工具
独立于浏览器
内嵌于浏览器
能够提出普通浏览器无法提交的请求,迅速生成大量请求,查找和利用安全问题
举例
更改隐藏HTML表单字段提交的产品价格
修改http cookie中传送的会话令牌,劫持另一个验证用户的会话
利用应用程序处理过程中逻辑错误删除某些正常提交的参数
改变由后端数据库处理某个输入,从而注入一个恶意数据库查询来访问敏感数据

小结

应用程序使用SSL仅仅表示网络其他用户无法查看修改攻击者传送的数据
SSL无法阻止攻击者向服务器提交专门设计的输入
攻击者控制着SSL通道终端,可以向服务器发任何内容

新的安全边界

在web应用程序出现之前 主要在网络边界上抵御外部攻击,保护这个边界需要对其提供服务进行强化打补丁,设置防火墙 在web应用程序出现之后
用户要访问应用程序,边界防火墙一定要允许其通过HTTP/HTTPS连接内部服务器,应用程序要实现其功能,必须允许其连接服务器来支持后端系统
数据库
大型主机
金融与后勤系统 如果存在漏洞,只要提交专门设计的数据就可以公婆组织的核心后端系统,这些数据就像正常,良性数据流一样,穿透组织的所有防御
所以要在应用程序内部执行防御措施 第三方小部件、以及很多跨域集成技术,让服务器端的安全边界跨越了组织本身的边界

名词解释

web3.0
更大范围采用实现用户生成内容和信息共享的功能,以及采用广泛支持这一功能的技术
异步HTTP请求
跨域集成 云计算
更多通过外部服务提供商来实施技术栈各部分,也指在托管环境中大量采用虚拟机技术 移动互联网
移动应用软件
无线接入设备
合法移动终端 物联网
网关结点设备
读卡器
路由节点 工业控制系统
用于生产基地和公共设施
石油管网
电网
核电站核心软硬件 大数据
使用hadoop、spark、storm、flink这些分布式的实时或者离线计算框架,建立计算集群,并运行各种计算任务

发布了40 篇原创文章 · 获赞 3 · 访问量 484

猜你喜欢

转载自blog.csdn.net/weixin_43079958/article/details/105151563