护网漏洞讲解(全)

2024-04-21 13:20
文章标签 讲解 漏洞 护网

本文主要是介绍护网漏洞讲解(全),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Sql注入产生的原因:

1.程序员在开发过程中不规范书写和对用户的输入没有进行过滤。

2.导致用户输入的数据被带入数据库执行。

sql注入的防御方法

1.代码层防止sql注入攻击的最佳方案就是sql预编译;

2.确认每种数据的类型;

3.规定数据长度,能在一定程度上防止sql注入;

4.严格限制数据库权限,能最大程度减少sql注入的危害;

5.避免直接响应一些sql异常信息,sql发生异常后,自定义异常进行响应;

6.过滤参数中含有的一些数据库关键词

SQL注入分类

1、按照数据提交方式分类

(1)GET 注入

(2)POST 注入

(3)Cookie 注入

(4)HTTP 头部注入

2、按照注入点分类

(1)数字型注入点

(2)字符型注入点

(3)搜索型注入点

3、按照执行效果分类

(1)基于布尔的盲注

(2)基于时间的盲注

(3)基于报错的注入

(4)联合查询注入

(5)堆叠注入

(6)宽字节注入

7base注入

(8)xff注入

(9)二次注入

(10)cookie注入

SQL注入流程

(1)判断是否存在注入,是数字型还是字符型

(2)猜解SQL查询语句中的字段数

(3)确定显示位置

(4)获取当前数据库

(5)获取数据库中的表

(6)获取表中的字段名

(7)下载数据

DOM型xss和别的xss最大的区别就是它不经过服务器,仅仅是通过网页本身的JavaScript进行渲染触发的

Csrf不用获取用户的cookie就能冒充用户的身份,来做一些操作

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由内部系统访问的,可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)

SSRF防御方式

1、过滤返回的信息,如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

2、统一错误信息,避免用户可以根据错误信息来判断远程服务器的端口状态。

3、限制请求的端口,比如80,443,8080,8090。

4、禁止不常用的协议,仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp://等引起的问题。

5、使用DNS缓存或者Host白名单的方式。

文件包含漏洞的成因  

Php语言较易产生文件包含漏洞是因为php语言提供的包含功能太强大,太灵活,由于其语言自身特性决定的,其他语言几乎没有。

   随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致执行了非预期的代码。从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。

PHP中文件包含函数有以下四种:

·require()

·require_once()

·include()

·include_once()

文件包含漏洞的利用条件:

  1. 程序用include()等文件包含函数通过动态变量的范式引入需要包含的文件        
  2. 用户能够控制该动态变量             
  3. 要保证php.ini中allow_url_fopen和allow_url_include要为On。(远程文件包含)

文件包含漏洞的分类

1     本地包含(LFI)

2     远程包含(RFI)

任意用户重置密码
提权/越权
交易支付
验证码绕过漏洞

什么是序列化与反序列化?

基本概念

把对象转换为字符串进行存储的过程称为对象的序列化(Serialization)

把存储的字符串恢复为对象的过程称为对象的反序列化(DeSerialization)

这篇关于护网漏洞讲解(全)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923185

相关文章

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

javascript fetch 用法讲解

《javascriptfetch用法讲解》fetch是一个现代化的JavaScriptAPI,用于发送网络请求并获取资源,它是浏览器提供的全局方法,可以替代传统的XMLHttpRequest,这篇... 目录1. 基本语法1.1 语法1.2 示例:简单 GET 请求2. Response 对象3. 配置请求

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处