看好你的门-验证机制被攻击(9)-不严谨的异常处理
来源:互联网 发布:淘宝搜索词查询在哪里 编辑:程序博客网 时间:2024/05/10 09:53
首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。
- 1、 简单说明
异常在WEB应用中非常的常见,一般大家都对异常处理非常了解。
下面是我写的一个因为不严谨的异常处理,可能会导致的系统被攻击者利用。主要是利用db.getUser(username,password); 产生异常。
攻击者也许不能获取系统的全部权限,但是有可能获取一些敏感信息。
- 2、 一个常见的不严谨的异常处理的代码
package com.safe;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.xwork.StringUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class EasyBugLoginAction extends ActionSupport { public String execute() throws Exception { HttpServletRequest request = ServletActionContext.getRequest(); String username = request.getParameter("username"); String password = request.getParameter("password"); request.setAttribute("username", username); // 用户名和密码如果有一个为空,返回失败 if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) { return "false"; } try{ User user = db.getUser(username,password); //一个到数据库中查找的方法 if (user == null){ return "false"; }else{ return "sucess"; } }catch(Exception e){ e.printStackTrace(); } return "success"; }}
这个逻辑看起来也很正常,对异常进行了处理,对数据是否非空格也进行了检验,看起来一切都很好。 这里使用了一个默认的返回值,默认返回的是 “sucess”。
如果一旦发生了异常,那么就会返回成功。
这段代码虽然不够严谨,但是更加糟糕的代码在实际工作中我也见过。
让这段代码出现异常比较简单,只要在username字段或者password字段,试试200个字符长度看看;如果200不够,那么试试1000个字符看看。
- 3、 可能被攻击的步骤
提交一个空字符串值;
完全删除name/value 对;
提交非常长和非常短的值;
提交数字替代字符,或者字符替代数字;
……
0 0
- 看好你的门-验证机制被攻击(9)-不严谨的异常处理
- 看好你的门-验证机制被攻击(1)-保密性不强的密码
- 看好你的门-验证机制被攻击(3)-智能化的蛮力攻击登陆
- 看好你的门-验证机制被攻击(5)-“记住我”功能的常见漏洞
- 看好你的门-验证机制被攻击(7)-可预测的用户名和密码
- 看好你的门-验证机制被攻击(8)-证书或者敏感信息的分配
- 看好你的门-验证机制被攻击(10)-不够安全的敏感信息存储
- 看好你的门-验证机制被攻击(2)-JAVA蛮力攻击登陆
- 看好你的门-验证机制被攻击(4)-密码修改、重置功能常见漏洞
- 看好你的门-验证机制被攻击(6)-用户角色变更系统漏洞
- 看好你的门-验证机制被攻击(1)附录-中国人可能最常用账号情况
- 看好你的门-确保验证机制的安全(2)-安全处理敏感信息
- 看好你的门-确保验证机制的安全(2)-安全处理敏感信息
- 看好你的门-攻击服务端(3)-SOAP注入攻击
- 看好你的门-确保验证机制的安全(3)-正确处理验证信息
- 看好你的门-确保验证机制的安全(3)-正确处理验证信息
- 看好你的门-确保验证机制的安全(1)-使用可靠的敏感信息
- 看好你的门-确保验证机制的安全(1)-使用可靠的敏感信息
- UVa 10118 - Free Candies(记忆化搜索)
- BigDecimal对象的使用
- java代码中重启服务
- deep learning 开山祖师
- ajax实现省市联动(version 1)
- 看好你的门-验证机制被攻击(9)-不严谨的异常处理
- Linux下修改host文件
- iOS 2015-3-9笔记
- 用C++实现简单的顺序表
- 外观模式Python版--牛市股市还会亏钱?
- Maven的POM.xml详解(五)
- 让那些做面试官的屌丝lead不再抖脚系列(二)---同步异步探讨->线程的一些方法
- VS2010 开发ActiveX控件 设置测试方式 .
- jsp 路径问题