云时代架构阅读笔记之五

web应用通常存在的10大安全问题

1、SQL注入

拼接的SQL字符串改变了设计者原来的意图,执行了如泄露、改变数据等操作,甚至控制数据库
服务器, SQL Injection与Command Injection等攻击包括在内

2、跨站脚本攻击(XSS或css)

跨站脚本(Cross-Site Scripting)是指远程WEB页面的html代码可以插入具有恶意目的的数据,当
浏览器下载该页面,嵌入其中的恶意脚本将被解释执行,从而对客户端用户造成伤害。简称CSS
或XSS


3、没有限制URL访问

系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易的就伪造
请求直接访问未被授权的页面

4、越权访问

用户对系统的某个模块或功能没有权限,通过拼接URL或Cookie欺骗来访问该模块或功能

5、泄露配置信息

服务器返回的提示或错误信息中出现服务器版本信息泄露、程序出错泄露物理路径、程序查询
出错返回SQL语句、过于详细的用户验证返回信息。

6、不安全的加密存储

常见的问题是不安全的密钥生成和储存、不轮换密钥,和使用弱算法。使用弱的或者不带salt 
的哈希算法来保护密码也很普遍。外部攻击者因访问的局限性很难探测这种漏洞。他们通常
必须首先破解其他东西以获得需要的访问。

7、传输层保护不足

在身份验证过程中没有使用SSL / TLS,因此暴露传输数据和会话ID,被攻击者截听,或使
用过期或者配置不正确的证书。

8、登录信息提示

用户登录提示信息会给攻击者一些有用的信息,作为程序的开发人员应该做到对登录提示信
息的模糊化,以防攻击者利用登录得知用户是否存在

9、重复提交请求

程序员在代码中没有对重复提交请求做限制,这样就会出现订单被多次下单,帖子被重
复发布。恶意攻击者可能利用此漏洞对网站进行批量灌水,致使网站瘫痪

10、网页脚本错误


访问者所使用的浏览器不能完全支持页面里的脚本,形成“脚本错误”,也就是网站中的脚
本没有被成功执行。遇到“脚本错误”时一般会弹出一个非常难看的脚本运行错误警告窗口

部署网站安全防护措施:

操作系统作为抵御非法攻击的第一道防线,对确保web安全发挥着非常重要的作用。主要包括以下几个方面:对系统补丁进行实时更新,防止非法分子依靠系统漏洞进行攻击。对不必要的通讯端口进行关闭处理,以有效降低恶意攻击的入侵通口。对密码管理制度进行规范处理。对服务器上的各个登陆密码进行统一生成与集中处理。在进行软件与组件安装时,应认真谨慎,关闭不必要的服务器,以有效降低安全隐患。遵循最小权限原则设置文件系统,以有效避免跨站脚本攻击与提权操作。

原文地址:https://www.cnblogs.com/tianzeyangblog/p/11054944.html