护网漏洞讲解(全)

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)

相关推荐
java_heartLake6 小时前
PostgreSQL数据库参数调优实践
数据库·postgresql·调优
xnuscd7 小时前
Milvus概念
数据库·学习·mysql
代码欢乐豆8 小时前
软件工程第13章小测
服务器·前端·数据库·软件工程
小gpt&9 小时前
实现qt拖拽显示或者播放
数据库·qt·音视频
望获linux9 小时前
在 ARM 平台上如何实现Linux系统的1秒启动
linux·服务器·开发语言·数据库·操作系统·嵌入式操作系统·arm平台
漫天转悠9 小时前
MySQL 七种JOIN连接详解
数据库·mysql
尘浮生9 小时前
Java项目实战II基于Java+Spring Boot+MySQL的智能停车计费系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·mysql·微信小程序·maven
quintin-lee9 小时前
PostgreSQL中的内存上下文管理
数据库·postgresql
蚂蚁在飞-10 小时前
一个高度可扩展的 Golang ORM 库【GORM】
数据库·oracle·golang
hai4058710 小时前
Spring Boot整合Redis Stack构建本地向量数据库相似性查询
数据库·spring boot·redis