本文主要是介绍护网漏洞讲解(全),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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()
文件包含漏洞的利用条件:
- 程序用include()等文件包含函数通过动态变量的范式引入需要包含的文件
- 用户能够控制该动态变量
- 要保证php.ini中allow_url_fopen和allow_url_include要为On。(远程文件包含)
文件包含漏洞的分类:
1 本地包含(LFI)
2 远程包含(RFI)
任意用户重置密码
提权/越权
交易支付
验证码绕过漏洞什么是序列化与反序列化?
基本概念
把对象转换为字符串进行存储的过程称为对象的序列化(Serialization)
把存储的字符串恢复为对象的过程称为对象的反序列化(DeSerialization)
这篇关于护网漏洞讲解(全)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!