java 项目安全问题三问

最近项目上有人提出了系统的几个安全漏洞,针对提出的漏洞进行了堵漏。可最近竟然有人给予项目做了外挂,还准备出售,很是气愤。下下来他的外挂进行了 分析,发现项目确实在安全这方面考虑较少。现在总结一下,希望对其他项目也有启发。
1.系统url 用get的方式直接传递参数。并且没有对访问数据进行权限再校验,因此只要猜出参数规则,就会造成数据安全泄漏。
2.利用浏览器标签页共享session,绕过系统直接请求url。
3.用httpwatch等工具,监控系统请求地址,以及参数,自己写html 界面,取请求,绕过系统的数据权限。
针对以上问题,现提出以下解决办法:
第一个问题:
1.尽量使用post的方式提交url。 非表单方式可使用jquery插件进行提交。下载地址: http://yunpan.cn/Q4f5vFyBBFuVb
2.使用urlrewrite 伪静态提交。(这个我没太深入研究)原理就是请求转发 httpRequest.getRequestDispatcher(“”).forward();
第二个问题:
目前还没想到好办法。但是第二个问题一般是和第三个问题在原理上有相似之处,因此可用第三种方式解决。
第三个问题:
第三个问题核心就是资源的盗链接。只要我们做到,系统的url 只能通过系统的界面才可以访问,就可以有效解决,除非他他界面放到服务器上。这个问题,可以通过过filter解决。下载地址: http://download.youkuaiyun.com/detail/duan_qpu/6948905
原理也很简单,就是获取请求资源的原始资源路径,判断是否是通过系统访问的,如果不是返回错误界面。
1.系统url 用get的方式直接传递参数。并且没有对访问数据进行权限再校验,因此只要猜出参数规则,就会造成数据安全泄漏。
2.利用浏览器标签页共享session,绕过系统直接请求url。
3.用httpwatch等工具,监控系统请求地址,以及参数,自己写html 界面,取请求,绕过系统的数据权限。
针对以上问题,现提出以下解决办法:
第一个问题:
1.尽量使用post的方式提交url。 非表单方式可使用jquery插件进行提交。下载地址: http://yunpan.cn/Q4f5vFyBBFuVb
2.使用urlrewrite 伪静态提交。(这个我没太深入研究)原理就是请求转发 httpRequest.getRequestDispatcher(“”).forward();
第二个问题:
目前还没想到好办法。但是第二个问题一般是和第三个问题在原理上有相似之处,因此可用第三种方式解决。
第三个问题:
第三个问题核心就是资源的盗链接。只要我们做到,系统的url 只能通过系统的界面才可以访问,就可以有效解决,除非他他界面放到服务器上。这个问题,可以通过过filter解决。下载地址: http://download.youkuaiyun.com/detail/duan_qpu/6948905
原理也很简单,就是获取请求资源的原始资源路径,判断是否是通过系统访问的,如果不是返回错误界面。