护网漏洞讲解(全)

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)

相关推荐
-SGlow-6 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
明月5667 小时前
Oracle 误删数据恢复
数据库·oracle
♡喜欢做梦8 小时前
【MySQL】深入浅出事务:保证数据一致性的核心武器
数据库·mysql
遇见你的雩风8 小时前
MySQL的认识与基本操作
数据库·mysql
dblens 数据库管理和开发工具8 小时前
MySQL新增字段DDL:锁表全解析、避坑指南与实战案例
数据库·mysql·dblens·dblens mysql·数据库连接管理
weixin_419658318 小时前
MySQL的基础操作
数据库·mysql
不辉放弃10 小时前
ZooKeeper 是什么?
数据库·大数据开发
Goona_10 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
程序员编程指南10 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
幼儿园老大*12 小时前
数据中心-时序数据库InfluxDB
数据库·时序数据库