常见安全漏洞和解决方案

常见安全漏洞和解决方案

ID:35620105

大小:29.67 KB

页数:9页

时间:2019-04-03

常见安全漏洞和解决方案_第1页
常见安全漏洞和解决方案_第2页
常见安全漏洞和解决方案_第3页
常见安全漏洞和解决方案_第4页
常见安全漏洞和解决方案_第5页
资源描述:

《常见安全漏洞和解决方案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.1身份认证安全1.1.1弱密码l密码长度6个字符以上l密码字符必须包含大写字母、小写字母和数字,并进行密码复杂度检查l强制定期更换密码1.1.2密码存储安全密码存储必须使用单向加密单纯的md5,sha1容易被破解,需要添加随机的盐值salt涉及支付及财产安全的需要更高的安全措施,单纯的密码加密已经不能解决问题。可以考虑手机验证码、数字证书、指纹验证。1.1.3密码传输安全1.1.3.1密码前端加密用户名、密码传输过程对称加密,可以使用密钥对的对称加密,前端使用公钥加密,后端使用私钥解密。前端加密示例引入脚本,rsa加密工具和md5加

2、密工具......前端加密脚本,省略了提交步骤……注意:前端密码加密如果还用了md5加密的,先md5加密再rsa加密。后端解密,省略了其他验证步骤ShiroUserServiceImpl.java…publicShiroUsergetUser(S

4、tringname,IntegeruserType,IntegerloginType){name=RSAUtils.decryptBase64(name);…}…publicbooleandoValidUser(ShiroUsershiroUser,Stringpassword){password=RSAUtils.decryptBase64(password);…}1.1.1.1启用https协议登录页面、支付页面等高危页面强制https协议访问。前端加密和https可以结合使用1.2SQL注入1.2.1描述SQL注入攻击是黑客对数据

5、库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQLInjection,即SQL注入。1.1.1解决办法1.养成编程习惯,检查用户输入,最大限度的限制用户输入字符集合。2.不要把没有检查的用户输入直接拼接到SQL语句中,断绝SQL注入的注入点。lSQL中动态参数全部

6、使用占位符方式传参数。正确...Listparams=newArrayList();Stringsql="select*fromuserwherelogin_namelike?";params.add(username);...正确...Mapparams=newHashMap();Stringsql="select*fromuserwherelogin_namelike:loginname";params.put("username",user

7、name);...错误...Stringsql="select*fromuserwherelogin_name='"+username+"'";...l如果不能使用占位符的地方一定要检查SQL中的特殊符号和关键字,或者启用用户输入白名单,只有列表包含的输入才拼接到SQL中,其他的输入不可以。Stringsql="select*from"+SqlTools.filterInjection(tablename);1.1.2应急解决方案nginx过滤规则naxsi模块axsi_nbs.rules##Enableslearningmode#Le

8、arningMode;SecRulesEnabled;#SecRulesDisabled;DeniedUrl"/50x.html";##checkrulesCheckRule"$SQL>=8"BLOCK;C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。