java 网站后台安全_JavaWeb后台安全问题

JavaWeb后台安全问题

电话面试https交互

json交互的,校验json格式,输入校验,长度范围限制,防止数据库脏数据

净化输入:净化包括从删除用户输入字符串后面的空格到去除值等一切行为。常见的净化输入示例是使用URL编码或者HTML编码来包装数据,并将其作为文本而不是可执行脚本来处理。

输出编码:输出编码是转换输入数据为输出格式的过程。输出格式不包含或者只是有选择性的包含允许的特殊字符

输出的重量有:

1) 支持HTML代码的输出

2) 不支持HTML代码的输出

3) URL的输出

4) 页面内容的输入

5) Js脚本的输出

6) Style样式的输出

7) Xml数据的输出

8) 服务空间的输出

后台用户名和密码是否是明文保存的?加盐

管理成员是否有权限的划分:系统,数据库权限

是否有管理日志功能。建议增加服务的访问日志,记录来访者的IP,传递参数,对后台操作用户建立日志,记录其操作内容。完善的日志记录可以帮助你发现潜在的危险,找到已经发生的问题。

SQL注入漏洞。应使用PreparedStatement

文件上传一定要做类型检查,一些jsp,php,asp等程序文件坚决不能让其上传

本系统主要通过对上传文件详细的格式验证:

第一步:通过后缀名来简单判断文件的格式。

第二步:通过读取文件的前两个字符进行对比,例如png格式图片的前两个字符为8950,而jpg格式的图片前两个字符为ffd8。

第三步:如果上传的为图片,则获取相应的高度和宽度,如果存在相应的宽度和高度则可认为上传的是图片。

本系统在对文件进行存储时会将文件名进行重命名处理,并且设置相应的web服务器,默认不显示目录。因为文件上传如果需要执行代码,则需要用户能够访问到这个文件,因此使用随机数改写了文件名,将极大的增加攻击的成本,甚至根本无法成功实施攻击。

关闭web服务器的错误回显功能,这样可以防止攻击者对系统进行攻击后,通过回显的详细错误信息对攻击内容进行调整,对攻击者提供极大的便利。我们在项目的web.xml文件中添加以下示例代码:

解决方案:在数据库访问层中不要使用“+”来拼接SQL语句!

PreparedStatement pstmt = con.prepareStatement("SELECT * FROM USERS WHERE UNAME=?");

- Java WEB容器默认配置漏洞。如TOMCAT后台管理漏洞,默认用户名及密码登录后可直接上传war文件获取webshell。

- 合法用户“注销”后,在未关闭浏览器的情况下,点击浏览器“后退”按钮,可从本地页面缓存中读取数据,绕过了服务端filter过滤。

解决方案:配置filter对存放敏感信息的页面限制页面缓存。如:

httpResponse.setHeader("Cache-Control","no-cache");

httpResponse.setHeader("Cache-Control","no-store");

httpResponse.setDateHeader("Expires", 0);

httpResponse.setHeader("Pragma","no-cache");

- 修改默认端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值