当前位置: 首页 > article >正文

Web安全: OWASP_TOP_10 原理|危害|绕过技术|修复建议.

Web安全: OWASP_TOP10 原理和修复. 

OWASP_TOP_10是Open Web Application Security Project(OWASP)组织发布的一个关于网络安全的列表,它列出了当前最常见和最危险的10种Web应用程序安全风险。这个列表每几年更新一次,以反映最新的安全威胁和漏洞趋势。OWASP是一个非盈利组织,由全球的安全专家、开发者和IT专业人士组成,致力于提高软件安全性。


目录:

(1)SQL注入漏洞:

(2)XSS漏洞:

(3)CSRF 跨站请求伪造:

(4)SSRF 服务器请求伪造:

(5)XXE【XML外部实体注入】

(6)文件包含 漏洞

(7)文件上传漏洞.

(8)命令执行 漏洞.

(9)逻辑漏洞.

(10)未授权访问 漏洞.

(11)中间件解析 漏洞.

IIS解析漏洞:

Nginx解析漏洞:

(12)反序列化 漏洞.

Shiro反序列化:

FastJson反序列化:

JBoos反序列化:


(1)SQL注入漏洞:

原理:

代码中没有对用户输入项进行验证和处理并直接并接到查询语句中.

利用: 

攻击者在应用查询语句中插入自己的SQL语句并传递到后台SQL服务器时并解析和执行了.

分类:

显注.

盲注.(时间型,布尔型,报错型)

测试方法:

' and 1=1 #

' and 1=2 #

危害:
SQL注入危害口诀:信网网后数.

1.信息泄露

2.网站挂马

3.网页篡改

4.后门植入

5.数据库被恶意操作

绕过技术:
SQL注入绕过口诀:关内二参模.

1.关键字 %【比如:sel%e%ct】

2.内联注释.【比如:/*select*/】

3.二次编码.

4.参数绕过.

5.multipart【模尼派】请求绕过,在POST请求中添加一个上传文件.

修复建议:
SQL注入修复口诀:加关过限信.

1.加WAF【Web防火墙】

2.关闭错误提示信息.

3.对用户输入项进行过滤.

4.限制输入的长度.【后台】

5.信息加密安全,一次md5 加盐 再加md5

实战链接:

Web安全:SQL注入漏洞测试.(手动测试)


(2)XSS漏洞:

原理:

Web应用程序对用户输入项的验证不严格,导致攻击者可以注入恶意脚本在这个页面中,当其他用户访问到这个页面的时候,恶意脚本就会被执行.

危害:
XSS危害口诀:盗会篡重钓破

1.盗取用户cookie

2.会话劫持.

3.篡改网页内容.

4.重定向恶意网站.

5.钓鱼网站.

6.破坏网站功能.

绕过技术:
XSS绕过口诀:大双编无等利.

1.大小写.<script>

2.双写.<scri<script>pt>

3.编码.

4.无分号无引号.

5.等价符号/函数替换.

6.利用HTML条件注释块.

修复建议:
XSS修复口诀:验安启使.

1.对所有用户输入项进行证和处理,避免直接将用户输入的内容输出到页面中.

2.使用内容全策略(CSP)来限制可执行的脚本.

3.用浏览器的XSS过滤.

4.使用HTTP-only来设置cookie,防止被应用程序读取cookie信息.

实战链接:

Web安全:XSS漏洞的测试(防止 黑客利用此漏洞.)


(3)CSRF 跨站请求伪造:

原理:

一个正常的请求,会将用户的 sessio id 保存在 cookie 中,这时候,如果用户使用同一个浏览器去访问tab页,这个tab页也是可以获取cookie信息的.

举个例子:【修改管理员账号密码】

当管理员正常登录后,如果攻击者伪造URL【修改账号密码的】,攻击者发给了管理员,管理员使用同一个浏览器我访问了,那密码就会被修改.

危害:
CSRF危害口诀:盗执财.

1.盗取用户Cookie

2.执行恶意的操作.

3.财产损失.

绕过技术:
CSRF 绕过口诀:更删移.

1.更改请求方法【POST改GET】

2.删除或发空的Token

3.移除Referer字字段.

修复建议:
CSRF修复建议:双增使.

1.双重验证.

2.增加Token

3.使用HTTP-only来设置cookie信息.

实战链接:

Web安全:跨站请求伪造(CSRF)测试和利用.


(4)SSRF 服务器请求伪造:

原理:

由于服务器端提供了从别的服务器获取数据的功能,并且对目标地址没有进行安全检测和过滤,导致攻击者可以利用这个功能进行内网数据访问和探测.

危害:
SSRF危害口诀:敏内Dos

1.感信息泄露.【文件读取file,端口探测ftp】

2.网探测,提供了进一步的横向移动的条件.

3.对内网主机进行Dos攻击.

绕过技术:
SSRF绕过口诀:短协域

1.利用链接.

2.利用特殊议.

3.利用特殊名.

修复建议:
SSRF修复口诀:过白协口

1.对用户输入项进行安全检查和严格滤.

2.利用名单机制.

3.限制议.

4.限制端请求.

5.如果不经常使用这个功能,可以进行关闭.

实战链接:

Web安全 SSRF漏洞的 测试和利用.(读取服务器的任何文件)


(5)XXE【XML外部实体注入】

原理:

当应用程序未正确验证和处理XML数据,攻击者可以构造XML数据,内容包含外部实体引用,当XML解析器不能正确处理外部实体引用,导致攻击者可以实现文件任意读取和命令执行等危害.

危害:
XXE危害口诀:信命内SD绕

1.敏感信息泄露.

2.命令/代码执行.

3.内部系统扫描.

4.SSRF

5.Dos

6.绕过防火墙

绕过技术:
XXE绕过口诀:编伪

1.编码.【如:UTF-16BE】

2.伪协议.【如:data,file】

修复建议:

1.禁用外部实体

2.对用户输入项进行严格验证和过滤.

3.关闭错误信息提示.

4.限制XML解析器的功能.

实战链接:

Web安全 XXE漏洞的 测试和利用.

(6)文件包含 漏洞

原理:

该漏洞一般出现在应用程序需要包含外部文件时,如果应用程序接受用户输入项作为路径的一部分,并且没有进行验证和过滤这些输入项,导致攻击者可以利用这点进行恶意的攻击.

PHP文件包含函数:

1.include()【鹰库鲁】

2.include_once()

3.require()【飞{雷}快鳄】

4.require_once()

危害:
文件包含危害口诀:信命.

1.敏感信息泄露.

2.恶意代码执行.

绕过技术:
文件包含绕过口诀:伪%#空格双写

1.伪协议.

2.%00截断

3.# 绕过.

4.空格 绕过.

5.双写 绕过.

修复建议:
文件包含修复口诀:输白禁限使.

1.对用户输入进行严格过滤和处理.

2.使用白名单.

3.禁用远程文件包含.

4.限制文件访问路径.

5.使用安全函数.

实战链接:

Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)


(7)文件上传漏洞.

原理:

服务器对上传的文件后缀和文件类型没有进行严格验证和过滤.

危害:
文件上传危害口诀:webshell木病内

1.上传Webshell

2.上传木马

3.上传病毒.

4.内网渗透.

绕过技术:
文件上传绕过口诀:前后类%

1.前端JS验证绕过.

2.修改文件后缀绕过.

3.修改文件类型绕过.

4.%00截断.

修复建议:
文件上传修复口诀:输白目随.

1.对上传文件进行严格过滤.

2.使用白名单机制限制后缀和类型.

3.设置文件上传的目录不可文件执行.

4.上传的文件名和文件路径进行随机改写.

实战链接:

Web安全:文件上传漏洞测试(防止 黑客利用此漏洞.)


(8)命令执行 漏洞.

原理:

应用程序在执行系统函数时,未对用户输入项进行严格验证和过滤,导致攻击者可以将恶意命令拼接到正常的命令中,从而可以执行任意恶意命令.

函数:

1.system()【谁时省】

2.exec()

危害:
命令执行危害口诀:信内权系

1.数据泄露.

2.内网渗透.

3.权限提升.

4.系统控制.

绕过技术:
命令执行绕过口诀:编寻字

1.编码.

2.寻找未禁用的函数.

3.字符.【空格,通配符】

修复建议:
命令执行修复口诀:输白参关.

1.对用户输入项进行严格验证和过滤.

2.使用白名单

3.参数化查询和绑定.

4.关闭报错信息提示

实战链接:

Web安全:命令执行漏洞 测试(防止 黑客利用此漏洞.)


(9)逻辑漏洞.

原理:

程序在设计和实现过程中,由于逻辑错误或者逻辑缺陷导致的安全问题.【不是代码问题】

分类:
逻辑分类口诀:权业验登

1.权限分类

平行越权:
A和B同一级的用户,正常情况下不能修改对方信息.
如果A可以去修改B的信息那么这就是平行越权.
垂直越权:
低权限用户可以修改高权限用户的数据

2.业务逻辑缺陷.【支付逻辑】【订单金额】

3.验证码机制缺陷.【密码找回】【验证码爆破】

4.登录缺陷.【弱密码】

危害:
逻辑危害口诀:信滥财

1.信息泄露.

2.服务滥用.

3.财产损失.

修复建议:
逻辑逻辑修复口诀:多访全.

1.多因身份验证.

2.访问控制策略.

3.全面审计.


(10)未授权访问 漏洞.

原理:

系统或服务对用户访问没有做限制和认证,可能是由于配置不当,认证机制缺陷或代码逻辑出现问题,导致了攻击者能够未授权访问.

危害:
未授权访问 危害口诀:信账系

1.信息泄露

2.账号安全.【修改账号信息】

3.系统安全.【执行系统命令】

如何进一步绕过利用:
未授权访问绕过利用口诀:系数.

1.系统服务扫描.

2.数据窃取或恶意操作.

修复建议:
未授权访问修复口诀:认配权

1.认证机制加强.

2.服务配置审查

3.访问权限控制

常见的有:

1.Rwdis{微迪斯}未授权访问【端口6379】:默认安装情况下是没有设置密码的,如果没有做安全配置【限制IP访问】,直接暴露到公网上.

2.Memcached{梅卡死特}未授权【端口11211】:缓存系统,本身没有权限控制模块,默认配置也是没有密码的.

3.JBoss未授权【端口8080】:应用服务器,默认后台没有密码直接访问.

4.lnfiuxDB未授权【端口8086】:数据库,Jwt认证不当,生成时间戳,进行修改数据包,可以返回信息.

5.MongoDB{蒙狗DB}未授权【端口27017】:默认情况下不设置认证机制,没有密码,直接访问.

实战链接:

数据库安全:Redis 未授权访问漏洞 测试.(6379端口)

Web 安全:Memcached 未授权访问漏洞.(11211端口)

中间件安全:JBOSS 未授权访问漏洞.

数据库安全:InfluxDB 未授权访问-Jwt验证不当 漏洞._

数据库安全:MongoDB 未授权访问漏洞.(27017端口)


(11)中间件解析 漏洞.

IIS解析漏洞:
原理 | 利用:

IIS5.x/6.0中分号{;}后面不会被解析,也就是说xx.asp;.jpg会被服务器看成是xx.asp,但是在上传文件的时候只校验后缀名,这样就可以上传xx.asp;.jpg,上传成功后服务器把这个文件当xx.asp去执行.

IIS7.0/7.5版本上传图片,默认Fast-CGI开启,如果图片文件后面加上/.php,服务器会把这个文件当做php去执行.

实战链接:

中间件安全:IIS 解析漏洞.[6.0版本]_


Nginx解析漏洞:
原理:

用户配置不当造成的解析漏洞.

利用:

上传图片,如果在访问图片后面加/.php,服务器会把这个上传的图片当php去执行.

实战链接:

中间件安全:Nginx 解析漏洞测试.


(12)反序列化 漏洞.

Shiro反序列化:
原理:

Shiro 有一个记住密码的功能,用户登录成功后 会生成 一个加密并编码 cookie ,然后服务器端对记住密码功能的cookie,进行  base64解密 ==》 AES解密 ==》反序列化 ,这样就导致了反序列化漏洞的产生. 

这里面最重要的是:默认情况下 AES加密 一样的.

利用:

构成恶意 反序列化 ==》AES加密 ==》baes64加密 ==》替换到记住密码功能的 cookie 中,进行反序列化攻击.

版本:

Shiro < 1.2.4


FastJson反序列化:
原理:

FastJson 允许在 json 字符串中使用 @type {太婆}关键字来指定目标对象的类型,这意味在反序列化时,FastJson 会尝试加载并实例化这个类型的对象,如果应用程序配置允许自动类型识别,而没有适当限制,攻击者就可以构成特殊的 Json 字符串来指定恶意类.

利用:

攻击者可以构成一个包含 @type {太婆}字段的恶意 json 数据,将恶意类作为 Auto Type {O特太} 的值,当 FastJson 反序列化时,会实例化指定的恶意类,从而导致恶意代码执行.


JBoos反序列化:
原理:

JBoos某些版本中,由于没有对反序列化操作进行适当过滤,攻击者可以构成恶意的反序列化数据,当JBoos服务器反序列化这些数据时,就可以执行攻击者指定的恶意代码.

版本:

JBoos 4.x之前的版本.

JBoos 5.x/6.x 版本.

实战链接:

中间件安全:JBoss 反序列化命令执行漏洞.(CVE-2017-12149)

 

  

  


http://www.kler.cn/a/376125.html

相关文章:

  • LeetCode 3226.使两个整数相等的位更改次数:位运算(接近O(1)的做法)
  • LINUX Shell命令中$0、$1-9、$#、$?、$*、$@、$!、$、$-、$IFS含义及举例
  • 11月01日,每日信息差
  • linux alsa-lib snd_pcm_open函数源码分析(三)
  • ESP32/ESP8266开发板单向一对多ESP-NOW无线通信
  • WPF+MVVM案例实战(九)- 霓虹灯字效果控件封装实现
  • 本地可以插入表记录,生产不能插入表记录
  • 基于springboot+vue实现的公考知识学习平台 (源码+L文+ppt)4-103
  • 【flutter列表播放器】
  • 基于Spring Boot的网络考试系统设计与实现(源码+定制+开发)网络考试管理平台、智能考试评估系统、题库管理系统设计、Spring Boot考试平台开发
  • 数字IC后端实现之Innovus Place跑完density爆涨案例分析
  • stable diffusion webui API调用示例,调用参数,override_settings参数
  • 时光书屋--
  • 标签之文字排版,图片,链接,音视频(HTML) 基础版
  • 4、liunx开机启动详解
  • 信息学科平台设计与实现:Spring Boot技术详解
  • 【Android】常见问题集锦
  • 112. gui辅助调节光源阴影
  • 浅谈鸿蒙生态崛起的机遇
  • LeetCode647:回文子串
  • 大规模语言模型:从理论到实践(1)
  • Python 工具库每日推荐 【Sphinx】
  • 李飞飞团队新突破:低成本高泛化机器人训练法,零样本迁移成功率90%!
  • 【AI开源项目】FastGPT- 深入解析 FastGPT 的知识库逻辑与检索机制:让 AI 更聪明的秘密
  • 20+款数据库DBA常用工具,助你高效管理
  • b站小土堆PyTorch视频学习笔记(二)