网站安全-网站常见的攻击方式和预防手段

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y41992910/article/details/87879256

第八章 安全
一.XSS攻击:跨站点脚本攻击。
预防手段主要有以下两种
解决方案
1.消毒,对某些html危险字符转义,如>,转义为><转义为&lt等。范围使用一个最小值和一个最大值来接收。
消毒几乎是所有网站最必备的XSS防攻击手段。
https://sou.zhaopin.com/?jl=深圳&sf=15001&st=25000&we=0103&kw=java&kt=3

2.HttpOnly
最早微软提出,禁止javascript访问带有httponly属性的cookie。
httponly并不是直接对抗xss的,而是防止xss的,用于存储敏感信息的cookie,防止被攻击脚本窃取。

二.注入攻击
SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者获取表结构的方式有以下几种
1.开源
2.错误回显
3.盲注
预防手段
1消毒
2参数绑定(主要手段,正确使用hibernate,ibatis等即可)
使用预编译手段,参数绑定是最好的防SQL注入方法。目前hibernate,mybatis等,都实现sql预编译和参数绑定,攻击者的恶意SQL会被当做SQL的参数,而不是命令。

三.CSRF攻击
预防手段
1.表单token,springmvc如何实现
本质上是通过一些方式,返回一个token在表单页面,然后再后台统一验证和发放新token
2.验证码(非必要不推荐)
3.Referer check

// 从 HTTP 头中取得 Referer 值

 String referer=request.getHeader("Referer");

 // 判断 Referer 是否以 bank.example 开头

 if((referer!=null) &&(referer.trim().startsWith(“xxxx.xxxxx”))){

    chain.doFilter(request, response);

 }else{

request.getRequestDispatcher(“error.jsp”).forward(request,response);

 } 

猜你喜欢

转载自blog.csdn.net/y41992910/article/details/87879256