常见Web攻击



第一次写网站特意用下面的方式去测试一下安全,发现全部入坑


1. DDos攻击

拒绝服务攻击:使系统过于忙碌而不能执行有用的业务并且占尽关键系统资源,常见有TCP泛洪,UDP泛洪。
利用了TCP的三次握手,大量请求连接发送给服务器端,即SYN同步请求,当服务器响应ACK时,客户端消失了,那么服务端就会重试,导致半连接数量过多而宕机

防范:

  • CDN分散静态内容,隐藏源服务器IP地址
  • 验证码+黑名单机制
  • 限流降级,访问频率


2. SQL注入

在SQL语句中的参数中注入SQL语句,改变原本的语句

select * from user where username="userName" and password="password";

select * from user where username=" or 1 = 1 -- " and password="password";

防范:

  • 使用占位符 ?,#{},还有预编译效果


3. XSS

跨站脚本攻击:没有对用户提交的数据进行转义处理,然后用户添加攻击代码,其他用户访问后会被攻击

防范:

  • HttpOnly避免Cookie劫持
  • 编码过滤转义特殊字符,标签,属性


4. CSRF

跨站请求伪造:在用户已经登录的网站上执行非用户意愿的操作。

比如用户在站点A登录后有了Cookie,然后去访问站点B,站点B返回攻击性代码,要求访问站点A并执行某些操作

防范:

  • 添加一个不能伪造的token,且不存在于Cookie中
  • 验证Http Referer字段,来源


5. 文件上传漏洞

在允许用户上传图片或者普通文本文件保存,而用户上传恶意代码并执行从而控制服务器。

防范:

  • 前后端进行文件后缀判断,设置黑白名单
  • 服务区端重命名


原文地址:https://www.cnblogs.com/Howlet/p/13175414.html