护网漏洞讲解(全)

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)宽字节注入

7 base注入

(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)

相关推荐
行十万里人生23 分钟前
Qt 对象树详解:从原理到运用
开发语言·数据库·qt·华为od·华为·华为云·harmonyos
松岛的枫叶31 分钟前
【缓冲区】数据库备份的衍生问题,缓冲区在哪里?JVMor操作系统?(二)
数据库
littlegirll1 小时前
命令行方式安装KFS同步KES到KADB
java·大数据·数据库
Y编程小白2 小时前
MySQL的存储引擎
数据库·mysql
爱老的虎油2 小时前
MySQL零基础教程10—正则表达式搜索(下)
数据库·mysql·正则表达式
️Carrie️2 小时前
6.6.3 SQL数据查询(一)
数据库·sql·select·子查询·连接查询·简单查询·聚集函数
jay丿2 小时前
Django应用的高级配置和管理
数据库·django·sqlite
ILUUSION_S3 小时前
学习路程五 向量数据库Milvus操作
数据库·python·学习·langchain·milvus
m0_748237154 小时前
MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
java·数据库·mysql