网络/Network - 网络安全 - 常见web攻击与防护
前言
网络世界, 没有所谓的安全, 任何系统都存在漏洞, 只要时间足够以及具备值得被攻破的价值. 就会被攻击. 攻与防之间,本来就没有绝对的安全。 我们能做的就是,尽量提高攻击的成本。 有时有些方案虽然有漏洞,但是实现起来足够简单,但是并不会过度影响业务性能(比如响应时间)。 所以,权衡安全性、开发成本、对系统性能的影响,选择比较折中、比较合理的方案更为重要。
|
1.XSS
什么是 XSS 攻击XSS 全称是 Cross Site Scripting,为了与“CSS”区分开来,故简称 XSS,翻译过来就是“跨站脚本”。 XSS 攻击是指黑客往 HTML 文件中或者 DOM 中注入恶意脚本,从而在用户浏览页面时利用注入的恶意脚本对用户实施攻击的一种手段。 最开始的时候,这种攻击是通过跨域来实现的,所以叫“跨域脚本”。 但是发展到现在,往 HTML 文件中注入恶意代码的方式越来越多了,所以是否跨域注入脚本已经不是唯一的注入手段了,但是 XSS 这个名字却一直保留至今。 当页面被注入了恶意 JavaScript 脚本时,浏览器无法区分这些脚本是被恶意注入的还是正常的页面内容,所以恶意注入 JavaScript 脚本也拥有所有的脚本权限。 下面我们就来看看,如果页面被注入了恶意 JavaScript 脚本,恶意脚本都能做哪些事情。 可以窃取 Cookie 信息。恶意 JavaScript 可以通过“document.cookie”获取 Cookie 信息,然后通过 XMLHttpRequest 或者 Fetch 加上 CORS 功能将数据发送给恶意服务器;恶意服务器拿到用户的 Cookie 信息之后,就可以在其他电脑上模拟用户的登录,然后进行转账等操作。 可以监听用户行为。恶意 JavaScript 可以使用“addEventListener”接口来监听键盘事件,比如可以获取用户输入的信用卡等信息,将其发送到恶意服务器。黑客掌握了这些信息之后,又可以做很多违法的事情。 可以通过修改 DOM 伪造假的登录窗口,用来欺骗用户输入用户名和密码等信息。 还可以在页面内生成浮窗广告,这些广告会严重地影响用户体验。除了以上几种情况外,恶意脚本还能做很多其他的事情,这里就不一一介绍了。总之,如果让页面插入了恶意脚本,那么就相当于把我们页面的隐私数据和行为完全暴露给黑客了。 恶意脚本是怎么注入的现在我们知道了页面中被注入恶意的 JavaScript 脚本是一件非常危险的事情,所以网站开发者会尽可能地避免页面中被注入恶意脚本。 要想避免站点被注入恶意脚本,就要知道有哪些常见的注入方式。通常情况下,主要有存储型 XSS 攻击、反射型 XSS 攻击和基于 DOM 的 XSS 攻击三种方式来注入恶意脚本。
如何阻止 XSS 攻击?我们知道存储型 XSS 攻击和反射型 XSS 攻击都是需要经过 Web 服务器来处理的, 因此可以认为这两种类型的漏洞是服务端的安全漏洞。 而基于 DOM 的 XSS 攻击全部都是在浏览器端完成的,因此基于 DOM 的 XSS 攻击是属于前端的安全漏洞 但无论是何种类型的 XSS 攻击,它们都有一个共同点,那就是首先往浏览器中注入恶意脚本,然后再通过恶意脚本将用户信息发送至黑客部署的恶意服务器上。 所以要阻止 XSS 攻击,我们可以通过阻止恶意 JavaScript 脚本的注入和恶意消息的发送来实现。 常用的阻止 XSS 攻击的策略。
更多信息参见: 参见 极客时间 - 浏览器工作原理与实践 - 浏览器安全[33 | 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?-极客时间] 补充参考代码实现 PHP【Yii】
|
2.CSRF/XSRF
CSRF 保护 | 基础组件 | Laravel 5.8 中文文档 // 建议多阅读并实践几遍 表单方法伪造与跨站请求伪造(CSRF)攻击防护 | 路由&控制器篇 | Laravel 入门到精通教程 CSRF 保护 | 基础组件 | Laravel 6 中文文档 前后端分离下如何防御CSRF攻击 - 简书 34 | CSRF攻击:陌生链接不要随便点-极客时间
Note ↓
更多详情 例如:// 20200904 网易云音乐 直接在url的query string中添加csrf_token进行验证. 主要用于post方式的请求. |
3.SQL注入
SQL注入与检测_william_n的博客-CSDN博客 |
4.代码注入
TBD |
5.DDoS攻击
拒绝服务攻击 -- 推荐阅读,国外的blog |
6.重放攻击
概念 ↓https://zh.wikipedia.org/wiki/重放攻击 https://baike.baidu.com/item/重放攻击/?fr=aladdin 简要定义 ↓重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。 引子13 | 实战二(上):如何对接口鉴权这样一个功能开发做面向对象分析?-极客时间 网友一
网友二
网友三[小白]
请继续技术调研 ... |
7. PHP安全与漏洞 --- 20210304 周四 家里
PHP安全与漏洞-免费在线视频教程-php中文网 // PHP安全与漏洞 整理实践TBD |
8.问题/补充
产品团队必须能够阻止,监视和警告HTTP请求中的常见攻击模式或技术(如果适用于您的服务):OWASP Top 10和其他应用程序安全漏洞(例如SSRF,SQLi,XSS,XXE,LFI,RCE,CSRF,业务逻辑漏洞等)。 蛮力攻击(例如,用户枚举,凭据填充,密码猜测)。 产品滥用或滥用(例如帐户接管,滥用业务逻辑缺陷)。-- SEEK RFC022 |
9.参考
常见web攻击总结 - morethink - 博客园 // 常见Web攻击总结 安全|常见的Web攻击手段之CSRF攻击 - 简书 // 安全|常见的Web攻击手段之CSRF攻击 XSS实战:我是如何拿下你的百度账号 总结几种常见web攻击手段及其防御方式 浅谈CSRF攻击方式 前后端分离下如何防御CSRF攻击 - 简书 // 前后端分离下如何防御CSRF攻击 jQueue 动态设置form表单的action属性的值和方法 javascript的String到int(32位)的hash算法 负载均衡 接口鉴权 - API 文档 - 文档中心 - 腾讯云 PHP_SELF漏洞 - 简书 // PHP_SELF漏洞 https://blog.csdn.net/xuanyuan_fsx/article/details/104967382 // 程序猿应该知道的黑客技术大汇总 https://github.com/ningxiaofa/sectoolset // 搜集的Github关于安全工具集合 -- 20210308 https://github.com/ningxiaofa/learning_of_web_security // Web安全攻防 -- 20210308 |
后续补充
...
网络/Network - 网络安全 - 常见web攻击与防护相关推荐
- 常见web攻击及防护原理
常见web安全及防护原理 sql注入原理 就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 总的来说有以下几点 永远不要信任用户的输入, ...
- 网络安全 -- 常见的攻击方式和防守
网络安全 – 常见的攻击方式和防守 一 . 网页中出现黑链 特点: 隐藏,不易发现,字体大小是0,表面上看不出来,代码层面可以查出来,也可能极限偏移,颜色一致 表现: 多表现为非法植入链接,一般点击会 ...
- 【技术干货】浏览器工作原理和常见WEB攻击 (下)
本文作者:上海驻云开发总监 陈昂 上篇给大家带来的是关于浏览器基本工作原理的总结和介绍,这篇文章重点给大家说明有哪些常见WEB攻击. 常见WEB攻击 互联网是个面向全世界的开放平台,越是开放的东西漏洞 ...
- 常见 Web 攻击(前端篇)
XSS Cross Site Scripting(跨站脚本攻击),因为缩写和 CSS 重叠,所以改叫 XSS.跨站脚本攻击是指通过存在安全漏洞的 Web 网址注册用户的浏览器内运行非本站点 HTML ...
- 浅析几种常见Web攻击-DoS攻击、CSRF、XSS
常见的Web安全问题有DoS攻击.CSRF攻击.XSS漏洞等.本文将简单介绍一下这几种常见的工具方式. DoS攻击 DoS(Denial of Service),拒绝服务,顾名思义这种攻击是为了让服务 ...
- 网站常见的攻击与防护
一个网站的运营,被攻击是时有发生的,尤其是网站做的好,在行业中脱颖而出时.这是网站做大后每一个人可能都要去面对的一件事情.那么网站的攻击有哪些,都有什么对应的方法. 1.DDOS.CC攻击 CC就是模 ...
- 常见web攻击及其防御手段
目录 一.XSS XSS攻击分类 XSS攻击的危害 防范手段 二.CSRF CSRF攻击的危害 防御 三.点击劫持-clickjacking 防御 四.SQL注入 防御 OS命令注入 请求劫持 一.X ...
- 学习随笔:Django 补充及常见Web攻击 和 ueditor
判断用户是否登录 <!-- xxx.html --> {% if request.user.is_authenticated %} django中的request对象详解 填错表格返回上次 ...
- web安全知识点(常见web攻击总结)
目录 一.XSS-跨站脚本攻击 1.原理 2.非持久XSS(反射型XSS) 2.1.特点 2.2.如何防止 3.持久性XSS(存储型XSS) 3.1.条件 3.2.特点 二.CSRF-跨站请求伪造攻击 ...
最新文章
- Java工具类--雪花算法生成全局唯一ID
- SQL Server添加索引
- C++动态数组的创建
- Linux SHELL 命令入门题目(一)
- PageHelper分页插件的简单使用
- 详解无人驾驶汽车工作原理及关键技术。
- python正弦波变方波_Python之OpenGL笔记(19):正弦波叠加为方波的GLSL实现
- Python 玩转数据 3 - NumPy ndarray Array Indexing, Slicing, Striding, View Subarray,Copy Subarray
- dex字符串解密_GitHub - zhoushuntong/DexEncryptionDecryption: APK 加固 dex 加密,解密 学习项目...
- JAVA.犹抱琵琶半遮面
- 让人惊愕的coffee spitter
- DIY手动定制一个属于自己的软件安装管理器工具盘[二]
- Java进阶学习-7 面向对象程序设计原则
- 小程序微商城-商铺管理后台
- BIM 360 二次开发入门
- win10 安装oracle11g完整教程
- Dirty Pipe – Linux 内核本地提权漏洞
- 报错: TypeError: Cannot read property ‘forceUpdate‘ of undefined
- C3P0数据库连接池的配置
- Android的数据库 SQLite数据库:SQLite