当前位置:网站首页>一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
2022-08-08 14:52:00 【51CTO】
目录
XSS 攻击
- 全称跨站脚本攻击
Cross Site Scripting - 为了与重叠样式表
CSS进行区分,所以换了另一个缩写名称XSS XSS攻击者通过篡改网页,注入恶意的HTML脚本,一般是javascript,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式XSS攻击经常使用在论坛,博客等应用中。攻击者可以偷取用户Cookie、密码等重要数据,进而伪造交易、盗取用户财产、窃取情报等私密信息

- 就像上图,如果用户在评论框中输入的并不是正常的文本,而是一段
javascript脚本,而后台又没对该用户的数据进行处理,直接存入数据库,那么当其他用户过来访问该页面,浏览器必然会执行这段脚本 - 当然这只是恶趣味,而真正的黑客并不会仅仅满足这样的恶趣味,可能更多的是想通过这些
注入脚本,获取你的个人信息,甚至是你的账号密码等信息

- 由上图可知,用户其实在评论的时候,引入了一个第三方脚本,在这个脚本中获取你浏览器的
cookie信息,并发送到指定的接口进行保存处理,这样你的信息就已经泄露了
- 在上面逻辑中,脚本中获取了你的个人信息,并将你的个人信息发送到后端
php文件中进行处理保存,这样你的个人信息就已经泄露了,所以杜绝xss攻击在网络安全中非常的重要 - 所以后端永远不要相信用户提交的数据,在接收用户提交的信息时候,要进行
消毒处理 - 也就是过滤一些特殊的字符,比如
javascript脚本中的<>进行转移<>再进行存储,这样就能有效的进行xss攻击的预防 - 另外如果
cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样也能有效的防止XSS攻击窃取cookie内容

SQL 注入
SQL注入攻击指的是攻击者在HTTP请求中注入恶意SQL命令,服务器用请求参数构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行,以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等敏感的操作,从而导致数据被随意篡改- 但是
SQL注入攻击,需要攻击者对数据库表有所了解才行,比如你的项目开源了,不小心公开了数据库的账号和密码;另外你的网站上线没有关闭调试模式,有心者可以网站的根据错误回显可以猜测表结构;另外还有就是盲注,也即是很多有心者会盲猜数据表结构,但是这种难度最大 SQL注入可以通过预编译手段进行预防,绑定参数是最好的防SQL注入方法。现在流行的框架基本都实现了SQL预编译和参数绑定,恶意攻击的SQL会被当做SQL的参数,而不是SQL命令被执行

CSRF 攻击
CSRF全称Cross Site Request Forgery,跨站点请求伪造,攻击者通过跨站请求,以合法的用户身份进行非法操作,如转账交易、发表评论等。其核心是利用了浏览器Cookie或服务器的Session策略,盗取用户的身份信息- 在打开
A网站的情况下,另开Tab页面打开恶意网站B,此时在B页面的恶意意图下,浏览器发起一个对网站A的HTTP请求 - 因为之前
A网站已经打开了,浏览器存有A网站中的Cookie或其他用于身份认证的信息,这一次被恶意意图的请求,将会自动带上这些信息,这将会导致身份劫持,造成并非本人意愿的操作结果 - 而对应
CSRF攻击的防御策略有:表单token、验证码、Referer 检测等

DDOS 攻击
DDOS全称Distributed Denial of Service,分布式拒绝服务攻击。是拒绝服务攻击的升级版。拒绝攻击服务其实就是让你的服务不能正常给用户提供服务,也就是俗话说的服务宕机。常用于攻击对外提供服务的服务器,像常见的:Web服务、邮件服务、DNS服务、即时通讯服务这些等- 在早期发起
DoS攻击是一件很容易的事情,只需要写个程序让服务过载,无暇提供正常服务即可,也就是一秒中请求服务多次,将目标服务器的内存跑崩 - 后来随着技术对发展,现在的服务器都是分布式,并不是单一服务器提供服务,一个服务背后拥有着是数不清的
CDN节点,也是就拥有着数不清的Web服务器。想靠单台服务器去攻击这种分布式网络,无异于对方以卵击石,而且现在很多DDOS 攻击都不是免费的,所以很容易造成偷鸡不成蚀把米 - 防御手段:随着技术发展到今天也并不能完全杜绝这种攻击的出现,只能通过技术去缓解。其中包括:
流量清洗、SYN Cookie等等

DNS 劫持
- 当今互联网流量中,以
HTTP/HTTPS为主的Web服务产生的流量占据了绝大部分 Web服务发展的如火如荼,这背后离不开一个默默无闻的大功臣就是域名解析系统,DNS提供将域名转换成ip地址的服务,每一个域名的解析都要经过DNS,所以可以看出它的重要性- 正是因为它的重要性,所以
DNS劫持很容易被别有用心的人利用 - 早期并没有考虑太多的安全性,所以导致
DNS很容易被劫持 - 如果攻击者篡改
DNS解析设置,将域名由正常IP指向由攻击者控制的非法IP,就会导致我们访问域名打开的却不是对应的网站,而是一个假冒或者别有用心的网站。这种攻击手段就是DNS劫持 - 通过
DNS劫持简单点可以导致用户流失,严重的后果甚至惠将用户诱导至攻击者控制额非法网站,可能会造成银行卡号、手机号码、账号密码等重要信息的泄露 - 后来出现了
DNSSEC技术,虽然在一定程度上解决了劫持问题,但是国内并没有太多应用的案例,因此后来阿里、腾讯推出了httpDNS服务也一定程度上可以抑制这种攻击手段 - 另外可以
安装SSL证书。SSL证书具备服务器身份认证功能,可以使DNS 劫持导致的连接错误情况及时被发现和终止

边栏推荐
- 基于Qt设计的课堂考勤系统(采用RDS for MySQL云数据库 )【华为云至简致远】
- 基于接口而非实现编程
- HMS Core分析服务智能运营6.5.1版本上线
- HMS Core Analysis Service Intelligent Operation Version 6.5.1 Launched
- Ubuntu下使用sudo dpkg --configure -a后数据库出现问题
- 【小码匠自习室】[NOI Online 2020-2 入门组] 未了:可恶的精度会让你焦头烂额
- OrderedDict构建函数模块的不常见写法
- 零基础入门华为云数据库RDS【华为云至简致远】
- 华为云会议初体验【华为云至简致远】
- 【小码匠自习室】ABC084 - D:喜欢这样的大神,超有才华
猜你喜欢
随机推荐
深度学习中的常见正则化方法(Regularization)以及优化器中的WeightDecay参数详解
万字长文:常见的软件测试面试题(附答案)
EasyExcel导入校验必填项不能为空
小程序轮播图实现由远及近动画
基于Qt设计的课堂考勤系统(采用RDS for MySQL云数据库 )【华为云至简致远】
你真的会软件测试bug分析定位嘛
手把手教你设计一个全局异常处理器
面试官:Redis 大 key 要如何处理?
「PHP基础知识」检测数据类型
腾讯超大 Apache Pulsar 集群的客户端性能调优实践
现在网上开户安全么?接着证券开户选择哪个证券?
【LeetCode】761. Special binary sequence
Common regularization methods in deep learning (Regularization) and detailed explanation of WeightDecay parameters in optimizers
超详细的最新版 2022.2 kali 安装步骤及拍摄快照的方法
LeetCode Daily Question 2022/8/1-2022/8/7
HMS Core分析服务智能运营6.5.1版本上线
P8352-[SDOI/SXOI2022]小N的独立集【dp套dp】
把酒言欢话聊天,基于Vue3.0+Tornado6.1+Redis发布订阅(pubsub)模式打造异步非阻塞(aioredis)实时(websocket)通信聊天系统
浅谈 Redis 的底层数据结构
【小码匠自习室】CSP-J/S复试高分秘诀经验分享









