C/C++教程

SQL注入Cookie注入

本文主要是介绍SQL注入Cookie注入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. Cookie背景介绍

Cookie最先是由Netscape (网景)公司提出的,Netscape官方文档中对Cookie的定义是这样的:Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。
Cookie的用途非常广泛,在网络中经常可以见到Cookie的身影。它通常被用来辨别用户身份、进行session跟踪,最典型的应用就是保存用户的账号和密码用来自动登录网站和电子商务网站中的“购物车”。
在这里插入图片描述

2. Cookie注入原理

Request对象的使用方法一般是这样的: request.[集合名称](参数名称)比如获取从表单中提交的数据时可以这样写: request.form(”参数名称"),但ASP中规定也可以省略集合名称,直接用这样的方式获取数据:request(“参数名称”),当使用这样的方式获取数据时,ASP规定是按QueryString.Form .Cookies .ServerVariables的顺序来获取数据的。这样,当我们使用request(“参数名称”)方式获取客户端提交的数据,并且没有对使用request.cookies(“参数名称”)方式提交的数据进行过滤时,Cookie注入就产生了。

Request对象
当浏览器向服务器请求页面时,这个行为就被称为一个request(请求)。
ASP Request对象用于从用户那里获取信息。它的集合、属性和方法描述如下:
在这里插入图片描述

3.Cookie注入典型步骤

  1. 寻找形如".asp?id=xx"类的带参数的URL
  2. 测试参数在数据传递中是否直接起作用的
  3. 测试应用是否用Request(“id”)这种方式获取数据的
  4. 测试判断条件是否可以影响输出
  5. 使用常规注入语句进行注入即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 防范cookie攻击

  1. 不要在Cookie中保存敏感信息
  2. 不要在Cookie中保存没有经过加密的或者容易被解密的敏感信息
  3. 对从客户端取得的Cookie信息进行严格校验
  4. 记录非法的Cookie信息进行分析,并根据这些信息对系统进行攻击
  5. 使用SSL/TLS来传递Cookie信息
  6. 指明数据提交方式,可以采用Request.QueryString(“id”)方式来获取通过GET方式提交的数据
  7. 修改防注入程序,增加对Request.Cookie(“id”)数据提交方式的过滤

文章参考哔哩哔哩奇安信网络安全培训视频

这篇关于SQL注入Cookie注入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!