前言

最近在研究 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. django如何将查询结果的栏位和数值自动遍历出来

    在Django中,MT003HModel.objects.all() 返回的是一个 QuerySet 对象,你可以使用迭代器来遍历其中的每个对象,然后访问对象的属性来获取栏位和数值. 以下是一个简单的 ...

  2. 字符—字符与整数的关系&&常用的库函数_C

    // Code file created by C Code Develop #include "ccd.h" #include "stdio.h" #incl ...

  3. 【JavaScript高级01】JavaScript基础深入

    1,数据类型 JavaScript将数据分为六大类型,分别为数值类型(number).字符串类型(string).布尔类型(boolean).undefined(定义未赋值).null(赋值为空值). ...

  4. 网络基础 CAS协议学习总结

    架构介绍 系统组件 CAS服务器和客户端构成了CAS系统体系结构的两个物理组件,它们通过各种协议进行通信. CAS服务器 CAS服务器是基于Spring Framework构建的Java servle ...

  5. 【Docker】10 容器存储

    将容器保存为一个镜像: docker commit 容器的名称 创建的镜像的名称 将镜像保存为一个tar包文件: docker save -o tar包文件名称.tar 镜像名称 可以看到Docker ...

  6. 使用AI模型替代工业仿真过程

    引自: https://www.zhihu.com/question/641951284/answer/3384531468 使用AI模型替代工业仿真,如:CAE,等等,进行仿真环境的求解运算.

  7. 2022 CCF推荐会议列表(国际会议列表)

    2019年版本的CCF推荐会议和期刊: https://www.ccf.org.cn/Academic_Evaluation/By_category/2022-12-02/780280.shtml 2 ...

  8. [COCI2013-2014#6] KRUŽNICE 题解

    前言 题目链接:洛谷. 题目分析 显然,手模样例发现答案分为以下几个贡献: 所有圆外面的那个大平面,贡献为 \(1\). 每个圆至少被分成一部分,贡献为 \(n\). 如果有一个圆被"拦腰截 ...

  9. selenium复习之---原理+基础用法

    简介 1.是什么 selenium是用来进行页面元素定位的第三方库,用来进行web自动化测试的工具,可以直接运行在浏览器中. 2.原理: selenium在工作过程中有三个角色,selenium客户端 ...

  10. Linux命令cURL详解,并实现文件定时上传到ftp服务器的程序

    前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...