网络攻击常见方式

#1. DOS/DDOS

DOS(Denial of Service)拒绝服务攻击,通常利用协议或主机漏洞进行的点对点攻击

DDOS(Distributed Denial of Service) 分布式拒绝服务攻击,通常使用多个僵尸主机进行大规模多对一攻击

上面两者目的都是使计算机或网络无法提供正常服务

#2. XSS

XSS(Cross Site Script)跨站脚本攻击,是指攻击者通过服务器或其他方式把恶意代码植入到用户使用的页面,盗取用户信息

处理:     可进行特殊字符过滤,如把html中特殊符号转义 如>转&gt;<转&lt;

#3. 会话定置

窃取或操纵客户会话和 cookie,模仿合法用户,从而以该用户身份查看或变更用户记录

处理:     可进行cookie禁用或者登陆后重新生成sessionid,不使用浏览器带过来的sessionid

HttpSession sessionOld = ServletActionContext.getRequest().getSession();  
//首先将原session中的数据转移至一临时map中  
Map<String,Object> tempMap = new HashMap();  
Enumeration<String> sessionNames = sessionOld.getAttributeNames();  
while(sessionNames.hasMoreElements()){  
	String sessionName = sessionNames.nextElement();  
	 tempMap.put(sessionName, sessionOld.getAttribute(sessionName));  
}
sessionOld.invalidate();
HttpSession sessionNew = ServletActionContext.getRequest().getSession(true);
for(Map.Entry<String, Object> entry : tempMap.entrySet()){  
	sessionNew.setAttribute(entry.getKey(), entry.getValue());  
}  

备注:     如果浏览器禁用cookie,则需使用servlet 中的 response.encodeRedirectURL(url) 或response.encodeURL(url)对url进行处理,如需要则http://abc/ac;jsessionid=xxx,否则直接返回url,前者不对url本身进行处理,后者会对url本身进行处理

如果重新生成sessionid,首先使用request.getSession().inValidation()使session失效,然后使用request.getSession(true)/getSession()/getSession(false)三种方法,前两者判断如有session则使用,没有则生成新session,后者判断有则使用,没有则返回null,如使用strut2,则需要把session里的东西循环到新的map中,否则会出错

#4. SQL注入

在web表单递交或输入域名或页面请求查询字符串中使用数据库查询语句进行恶意数据库的操作

处理:  1.使用preparedStatment 代替 statment

2.使用变量绑定

3.使用正则表达式过滤SQL

4.对参数进行特殊字符过滤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值