java源代码风险漏洞 java代码漏洞扫描( 十 )


Web应用程序如果存在越权访问漏洞,可能导致以下危害:
1)导致任意用户敏感信息泄露;
2)导致任意用户信息被恶意修改或删除 。
解决方案:
配置FILTER拦截器,对请求所有URL进行拦截,对于需要进行授权的URL进行权限校验,防止用户越权访问系统资源 。
9.弱口令漏洞
解决方案:最好使用至少6位的数字、字母及特殊字符组合作为密码 。数据库不要存储明文密码,应存储MD5加密后的密文,由于目前普通的MD5加密已经可以被破解 , 最好可以多重MD5加密 , 或者多种加密方式叠加组合 。
10.JSP页面抛出的异常可能暴露程序信息 。
有经验的入侵者,可以从JSP程序的异常中获取很多信息,比如程序的部分架构、程序的物理路径、SQL注入爆出来的信息等 。
解决方案:自定义一个Exception,将异常信息包装起来不要抛到页面上 。
11.本地缓存漏洞
合法用户“注销”后 , 在未关闭浏览器的情况下,点击浏览器“后退”按钮,可从本地页面缓存中读取数据 , 绕过了服务端filter过滤 。
解决方案:配置filter对存放敏感信息的页面限制页面缓存 。如:
httpResponse.setHeader("Cache-Control","no-cache");
httpResponse.setHeader("Cache-Control","no-store");
httpResponse.setDateHeader("Expires",0);
httpResponse.setHeader("Pragma","no-cache");
12.文件上传漏洞 。
前台仅使用JS对文件后缀做了过滤,这只能针对普通的用户,而恶意攻击者完全可以修改表单去掉JS校验 。
13.Java WEB容器默认配置漏洞 。
如TOMCAT后台管理漏洞,默认用户名及密码登录后可直接上传war文件获取webshell 。
解决方案:最好删除,如需要使用它来管理维护,可更改其默认路径,口令及密码 。
Java反序列化安全漏洞怎么回事反序列化顾名思义就是用二进制的形式来生成文件,由于common-collections.jar几乎在所有项目里都会被用到 , 所以当这个漏洞被发现并在这个jar包内实现攻击时,几乎影响了一大批的项目 , weblogic的中枪立刻提升了这个漏洞的等级(对weblogic不熟悉的可以百度) 。
至于如何使用这个漏洞对系统发起攻击,举一个简单的例子,我通过本地java程序将一个带有后门漏洞的jsp(一般来说这个jsp里的代码会是文件上传和网页版的SHELL)序列化,将序列化后的二进制流发送给有这个漏洞的服务器,服务器会自动根据流反序列化的结果生成文件,然后就可以大摇大摆的直接访问这个生成的JSP文件把服务器当后花园了 。
如果Java应用对用户输入,即不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的对象,非预期的对象在产生过程中就有可能带来任意代码执行 。
所以这个问题的根源在于类ObjectInputStream在反序列化时,没有对生成的对象的类型做限制;假若反序列化可以设置Java类型的白名单,那么问题的影响就小了很多 。
关于java源代码风险漏洞和java代码漏洞扫描的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读