java面试题-攻击方式

跨站请求伪造攻击(CSRF)是怎样的?[面试9.0]

在这里插入图片描述

CSRF防御:
关键操作采用Post->可以减少被CSRF
关键操作加入验证码->可以减少一大部分被CSRF的可能性,但用户体验不友好
服务端加入Referer验证,但黑客依然会利用伪造Referer的方式攻击,这时就需要加入Anti CSRF Token来解决
Anti CSRF Token: 使用一个随机的Token保存在客户端页面上,提交到服务器后,验证服务端保存的这个Token值和该值是否匹配
Header里加入一些参数: 原理和Anti CSRF Token一致,只不过提交到服务器时内容是保存在Header里面的而已
CSRF跨站请求伪造攻击
CSRF跨站请求伪造攻击

跨站脚本攻击(XSS)是怎样的?[面试9.0]


XSS防御:
输入过滤: 前后端对script进行过滤,过滤方式有两种(1.参数验证和屏蔽,2.直接过滤Script)
输出编码后端返回前端时可以对输出进行编码,让浏览器不能执行脚本
设置Cookie为http-only,这样可以保证Script获取不到Cookie
XSS跨站脚本攻击
XSS跨站脚本攻击

Sql注入?[面试8.5]

如黑客通过’号进行,或恶意命令
解决:对’,"等特殊符号转义
检查变量数据类型和格式
另外:进行参数绑定(冒号参数的方式设置值),不适用直接拼接

DDOS攻击?[面试6.0]

攻击方式:
攻击网络带宽: 攻击者发大量的数据包到目标网站占满了带宽,正常用户的数据包传不了
攻击Tcp连接表: 攻击者对目标网站建立大量的TCP连接,由于三次握手信息保存在连接表中当这个表被占满也就达到了黑客目的
大量请求攻击(CC攻击): 攻击者发生恶意http请求,占满目标服务器所有资源,也叫CC攻击(挑战黑洞)

防御DDos攻击:
采用高防产品,请求来到后先被高防Ip拦截并进行清洗,再对流量分流,还可以隐藏真实服务器的Ip
带宽扩容: 将所有请求全部消化掉
CDN: 网站内容分发到多台离用户近的服务器上,可隐藏真实服务器,只要CDN足够大就可以防止DDOS攻击
防御CC攻击(除了上面的方式还有可以使用验证码或黑白名单对Ip进行控制访问)

文件上传漏洞攻击?[面试6.0]

黑客上传木马或病毒文件,并访问这个文件
防御:
上传目录不执行
文件类型检查,包括媒体类型,扩展名等的检查

XXE(外部实体注入攻击)?[面试4.0]

XML外部实体注入攻击: DOCTYPE区可以定义一个外部实体可以解析外部文件,黑客构造给予XML的请求时写一个dtd连接到DOCTYPE中,然后将这个XML发送给被攻击者服务器,被攻击者服务器会解析这个XML,然后这个dtd连接就会自动连接到攻击者服务器,留下文件信息记录,这样黑客就能通过这种方式获取被攻击者服务器上的文件信息
解决: 服务端禁止XML解析外部实体的加载

其他攻击情况?怎么解决?[面试6.0]

错误回显给黑客留下可参考的代码: 关闭回显
密码加密: 另外安全防护中可以对如密码等关键信息进行加密处理(Md5等,比如前端对密码进行Md5加密)后端再通过盐值加密的方式比较密码匹配性
垃圾信息: 使用黑名单技术,将用户的账户和Ip信息保存到黑名单,黑名单可以用hash表实现,如果在黑名单里面存在就拒绝操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

2023年Java面试宝典

您的鼓励是对我的肯定,共建希望

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

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

打赏作者

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

抵扣说明:

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

余额充值