前言

最近在研究 WAF, 顺便记入一下常见的 Web 攻击.

SQL Injection

SQL injection 是指程序员直接拿 client input, 拼接到 SQL query 中. 从而导致 client 有能力可以操作 SQL.

这个是年代久远的攻击了. 现在一般上都会使用 parameter 的方式把 client input 输入进 query 里, 而不是用拼接.

或者直接用 ORM 框架. 跳过写 query 这个环节.

不只是 SQL Injection, 任何一种 XXX injection 原理都是一样的, 程序员对 client input 使用要敏感一些.

不要拿了就用, 要假设 client 都是坏人, 用他们给的东西要先检查, 限制, 过滤.

比如用 Enum, int, 正则去确保用户只能给小范围的表达, 使用的时候要依据场合做 encode.

除了 SQL, 经常会用到 client input 做逻辑的还有 : Path, 反射调用, rich text 等等

Cross-site Scripting (XSS)

也算 injection 的一种, 它指的是用 client input 去拼接 HTML. 从而导致 client 有能力操作 HTML 页面.

解决方法就是消毒. 限制. 过滤, Encode, 就那一套啦.

Command Injection

也是 injection 的一种, 只是攻击的地方是调用 shell 这类的, 所以叫 command injection.

参考: 详解php命令注入攻击

解决方法一样.

HTTP Request Smuggling

请求走私, 这个只会发生在, 有用 load balance, reverve proxy 反向代理, 这种情况.

它会通过一些手法骗过代理, 让它分发错误的信息给服务器.

我没有用过 load banlance 和反向代理, 所以也不清楚它具体怎样 hack.

HTTP Response Splitting

参考:

HTTP Response Splitting 攻击

浅谈HTTP响应拆分攻击

它也有点像 injection, 服务器在处理 302 时把 client input 直接写入 header location 里, 导致了 client 有能力控制 response.

我没有深入研究, 想了解更多看上面的链接吧. 解决方法还是一样.

Remote File Inclusion

参考: 前端 RFI详解

也算 injection 的一种, 直接用 client input 去拼接 file path.

其它

其余的还有 HTTP 协议检查, user-agent, accept headers, IIS configuration, protect 爬虫, scanner 等等啦.

详细的 rules 保护看这里 Web Application Firewall CRS rule groups and rules

此外, 它还防 DDos attack

DDoS 和 CC Attack

参考: DDoS攻击和CC攻击有什么区别?

DDoS 攻击就是一直访问你的服务器, 造成巨大的压力, 让服务器卡死掉. 阻止它的方法一般上是去检查 IP, 放 cookie 做识别.

然后阻止它一直访问. 自己防的话, 也是挺多工作要做的.

安全 – 常见 Web 攻击的更多相关文章

  1. 常见web攻击总结

    搞Web开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该了解的事.本篇主要简单介绍在Web领域几种常见的攻击手段及Java Web中的预防方式. XSS SQL注入 DDOS ...

  2. 几种常见web攻击手段及其防御方式

    XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...

  3. 总结几种常见web攻击手段及其防御方式

    本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...

  4. 图解 HTTP 笔记(八)——常见 Web 攻击技术

    本章主要讲解 HTTP 通信过程中的一些常见 Web 攻击技术 一.跨站脚本攻击 跨站脚本攻击(Cross-Site Scripting, XSS)是指通过存在安全漏洞的 Web 网站注册用户的浏览器 ...

  5. 简单总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  6. 简单地总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  7. 常见Web攻击及解决方案

    DoS和DDoS攻击 DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击.其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带 ...

  8. [Java网络安全系列面试题]常见web攻击有哪些?

    搞Web开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该了解的事.本篇主要简单介绍在Web领域几种常见的攻击手段及Java Web中的预防方式. 1. XSS 1.1 什么是 ...

  9. 常见web攻击以及防御

    xss攻击: 跨站脚本攻击,攻击者在网页中嵌入恶意代码,当用户打开网页,脚本程序便开始在客户端的浏览器上执行,以盗取客户端cookie,用户名密码,下载执行病毒木马程序,甚至是获取客户端admin权限 ...

  10. 学习随笔:Django 补充及常见Web攻击 和 ueditor

    判断用户是否登录 <!-- xxx.html --> {% if request.user.is_authenticated %} django中的request对象详解 填错表格返回上次 ...

随机推荐

  1. supervisor.conf部署及维护

    启动服务 supervisord -c /etc/supervisord.conf 启动服务 supervisorctl start 关闭服务 supervisorctl stop

  2. [oeasy]python0100_wintel联盟_intel_微软_microsoft_msDOS_基尔代尔

    wintel联盟 回忆上次内容 上次 了解了IBM的 背水一战 IBM 已经不在乎 软硬一体全自主的设计 了 而采用了 开放的架构 任何 硬件厂商和软件厂商 都可以来合作 以丧失 自主控制力的方式 获 ...

  3. 常见的SQL数值型数据处理函数

    在数据驱动的时代,SQL 已成为数据分析和管理中不可或缺的工具.无论是处理简单的查询还是复杂的数据分析,SQL 都能帮助我们高效地完成任务. 然而,在处理数值型数据时,你是否感到过困惑,不知道如何运用 ...

  4. 什么是spring.factories,引入未知模块报错如何解决

    对于maven中引入其他外部包加入容器的过程,需要用到spring.factories spring.factories的作用:将自动配置类与对应的配置类集中在一起,方便springboot自动装配, ...

  5. Microsoft Dynamics CRM 高级查找不能搜索实体的解决方案(浏览器插件)

    背景 我们搜索某个实体的记录的时候,一般会去对应的视图"可用的XXX",但是视图自带的条件过滤了一些数据,或者缺少了我们所需要的列,或者不能查询关联实体.这时候我们需要用到高级查找 ...

  6. 【Java】Enumeration Class 枚举类

    枚举类 enum 对象是有限的确定的.属于类的(静态的) 适合定义一组常量 例如固定的一些事物: - 季节 - 性别 - 状态 自定义枚举类的使用 public class EnumerationTe ...

  7. 如何在Windows10电脑上打开3D建模STL文件

    相关: https://www.bilibili.com/video/BV1gD4y1h7tj/

  8. mindspore.ops.Pow()等算子不能处理float64类型的数据

    原文地址: https://gitee.com/mindspore/mindspore/issues/I3ZG99 Software Environment: -- MindSpore r1.2 GP ...

  9. NVIDIA公司的半成品项目cule——GPU端运行的Atari2600游戏环境——已经废弃的项目

    官网介绍地址: https://developer.nvidia.com/blog/new-open-source-gpu-accelerated-atari-emulator-for-reinfor ...

  10. 一文搞懂DevOps、DataOps、MLOps、AIOps:所有“Ops”的比较

    引言 近年来,"Ops"一词在 IT 运维领域的使用迅速增加.IT 运维正在向自动化过程转变,以改善客户交付.传统的应用程序开发采用 DevOps 实施持续集成(CI)和持续部署( ...