34. 注入篇——Cookie注入

2023-11-16

Cookie注入原理

(1)数据读取流程:对于WEB服务器而言,读取数据的流程是先取GET中的数据,如果GET中没有数据信息,那么再取POST中的数据,如果POST中也没有那么就会去取COOKIE中的数据

(2)防注入系统的常例:系统一般只会对GET、POST中的数据进行检测,如果有特殊的字符就禁止数据的提交,但是很少检测COOKIE中的数据信息。

(3)ASP中的request对象:Request对象被用于从用户那里获取信息。Request.[某一结果集的名称](参数名称),比如获取表单中提交的数据:request.form("参数名称"),同时对于ASP而言,这里的结果集名称也可以省略,直接使用“request(参数名称)”,如果使用这样的方式,ASP规定按照QueryString、Form、Cookies、ServerVariables的顺序来获取数据。这样一来,如果我们使用request("参数名称")方式获取客户端提交的数据,并且没有对使用request.cookies("参数名称")方式提交的数据进行过滤时,Cookie注入就产生了。

Cookie注入步骤

(1)使用Baidu、Google等浏览器搜寻目标站点:

inurl:asp?id=
(2) 去掉“?id=xx”查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。

(3)清空浏览器地址栏,输入“javascript:alert(document.cookie="id="+escape("xxxx"));”,按Enter键后弹出一个对话框,内容是“id=xxxx”,然后用原来的URL刷新页面,如果显示正常,说明应用使用Request("id")这种方式获取数据的。

(4)重复上面的步骤,将常规SQL注入中的判断语句带入上面的URL,例如:

“javascript:alert(document.cookie="id="+escape("xx and 1=1"));” 

“javascript:alert(document.cookie="id="+escape("xx and 1=2"));”

   和常规SQL注入一样,如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入。

(5)之后使用常规注入语句进行注入即可。

说明部分:

   document.cookie="id="+escape("xxxx")的作用是把XXXX保存到COOKIE的ID中

Cookie注入中转

使用注入中转生成器来实现注入:


之后点击“生成ASP”就可以在程序的根目录下面生成一个用来中转的ASP文件!之后我们需要把该ASP文件上传到一个支持ASP的网络空间中去,之后进行访问!

此时,虽然你输入的地址不是之前存在COOKIE注入的网址,但是确实显示相同的界面。

但是,没有参数的页面是无法进行注入的,所以此时要将上面所显示的POST提交值添加到单前的URL后面(中间不可少“?”),之后就可以像普通的注入网站那样进行注入了,可以使用啊D、明小子等来注入

使用Sqlmap进行Cookie注入

在SQLmap中有一个参数“--Level”,当“leavel>=2”时就会检测COOKIE后面的参数,当“level>3”时将会检测User-Agent和Referer,这为COOKIE的注入提供了便利:

例如:

sqlmap -u  http://xxx.xx.xx.xx:xx/test.php  --cookie id=1 --dbs --leavel 2
之后可以陆续的查询表、字段、字段值等内容。

Cookie注入防御

COOKIE注入的防御可以通过以下方法来解决:

(1)指明客户端数据提交方式,或者使用Request.QueryString("id")方式来获取通过GET方式提交的数据。

(2)修改防注入程序,增加对Request.Cookies("id")数据提交方式的过滤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

34. 注入篇——Cookie注入 的相关文章

  • getClassLoader()返回null,getClassLoader()获取为空

    一 问题描述 通过getClassLoader 的方式获取jar包中的资源 为空 this getClassLoader getResources com xxxx test Start class hasMoreElements this
  • gin context和官方context_go-gin框架入门

    gin入门 介绍 gin是一个golang的微框架 封装比较优雅 api友好 源码注释比较明确 具有快速灵活 容错方便等特点 对于golang而言 web框架的依赖要比python java之类的要小的多 完全使用自身net http包封装
  • 课时 10 自测题

    使用存储快照功能需要用到哪些 Kubernetes API 资源对象 多选题 A VolumeSnapshot B VolumeSnapshotClass C VolumeSnapshotContent D PersistentVolume
  • C++学习 十、函数重载,函数模板

    C 学习 十 函数重载 函数模板 前言 函数重载 二义性 强制类型转换 类型与类型引用 默认参数 const指针参数和const引用参数 函数模板 模板函数声明与定义 函数模板重载 显式实例化 显式具体化 重载解析 引导编译器使用函数模板
  • Box layout

    Layout management with layout classes is much more flexible and practical It is the preferred way to place widgets on a
  • Vue3+TypeScript 完整项目上手教程

    转自 Vue3拥抱TypeScript的正确姿势 https juejin im post 6875713523968802829 一个完整的Vue3 Ts项目 支持 vue和 tsx写法 项目地址 https github com vin
  • Tomcat的安装与环境变量配置(图文详解)

    Tomcat的安装与环境变量配置 首先说明一下我的电脑配置 Windows 7 专业版 64位操作系统 安装内存8G 四核处理器 一 Tomcat的下载与安装 1 进入Tomcat官网 https tomcat apache org 2 在
  • soap错误码和获取处理错误码的详细信息

    gsoap页面 https www genivia com doc guide html index html soap客户端用户登录返回值错误代码表 ERROR CODE SOAP EOF 1 Unexpected end of file
  • const 在C和C++ 中的区别

    目录 c中的const C 中的const const修饰指针 const修饰引用 const是construct的缩写 是c c 语言中的类型限定符 采用const修饰变量 功能是对变量声明为只读特性 并保护变量值以防被修改 c中的con
  • 最新版Adobe2023:After Effects 2023(Ae2023) win/mac版中文特别版

    Adobe After Effects 2023 AE2023 它用于视频处理后期制作 创建音乐视频 广告 动画 标题以及许多其他需要数字视频效果的元素 Adobe After Effects提供了出色的控制功能 广泛的创意工具以及与其他视
  • 香港云服务器怎么样_硅云服务器评测

    这次我来给大家测试下香港云服务器 本次测试选用的硅云香港可用一区 使用到的配置是2H2G 官方文档介绍说通用型g1是50 cpu性能 因为想用Linux 只是做下简单评测 就选择了通用型 正式使用的朋友建议买标准型S 100 CPU性能 一
  • android studio gradle 下载失败万能解决方案

    The specified Gradle distribution https services gradle org distributions gradle 7 2 2 bin zip does not exist 报错如上 介绍个绝对
  • 飞腾平台 银河麒麟 安装nginx

    飞腾平台 银河麒麟 安装nginx 1 在 home目录输入命令新建npf文件夹 mkdir npf 进入npf 目录输入命令新建nginx server文件夹 mkdir nginx server 2 将以下安装包上传到nginx ser
  • U-boot在S3C2440上的移植详解(一)

    本文转载至 http www embeddedlinux org cn html jishuzixun 201303 16 2499 html 一 移植环境 主 机 VMWare Fedora 9 开发板 Mini2440 64MB Nan
  • 小程序开发之 wx.getUserInfo获取用户信息方案介绍

    原文链接 https www cnblogs com kenshinobiy p 9118024 html 背景 小程序一个比较重要的能力就是获取用户信息 也就是使用 wx getUserInfo 接口 我们发现几乎所有的小程序都会调用这个
  • websocket有什么特点

    websocket有什么特点 答 websocket的最大特点就是 服务器可以主动向客户端推送信息 客户端也可以主动向服务器发送信息 是真正的双向平等对话 属于服务器推送技术的一种 1 建立在tcp协议之上 服务器端的实现比较容易 2 与H
  • 多线程处理

    https www runoob com python3 python3 multithreading html import requests import threading import time import xlrd import

随机推荐

  • 二维数组分组,一行显示5个,适合在table里面显示,php控制显示的数据

    需求 把数据平均显示到table的显示框内 如一行5个数据 效果 方法代码 一行展示N个数据 param int type 默认1 可扩展 param int num 一行显示的个数 可设置 param arrs 二维数组 static f
  • 强化学习学习

    强化学习一些基本概念 强化学习是除了监督学习和无监督学习的第三种机器学习方法 监督学习 Supervised Learning 是从外部监督者提供的带标注训练集中进行学习 任务驱动 无监督学习 Unsupervised Learning 是
  • 003 C++基础篇

    前言 大家好 本文将会向您介绍引用 定义 使用场景 引用与值分别作为返回值和参数时的性能比较 引用的权限 引用 一 引用是什么 引用 定义一个变量的别名 不是新定义一个变量 而是给已经存在的变量取了一个别名 编译器不会为引用变量单独开辟一个
  • WPF应用程序最小化到系统托盘

    using System using System Collections Generic using System ComponentModel using System Windows using System Windows Inpu
  • Unity3D跑酷游戏开发-游戏结束分数排名当前高能显示 (原创教程)

    一般游戏结束后都会有个分数排名板 接下来让分析这功能 1 游戏结束后显示高分排列 当前玩家分数高能显示 如果能进入排名板 2 数据必须持久化 切换场景 关闭开启游戏都要能用 流程 游戏结束后 调出排名板 1 取得上次的所有排名数据保存到li
  • elasticsearch查询

    环境 es1 3 eclipse jdk1 8 问题 刚开始用游标查询 再用游标获取数据 查询耗时较慢 解决办法 不使用游标查询 直接根据条件查询 es查询参考网址 https www cnblogs com chenyuanbo p 10
  • 数据库内连接、左外连接、右外连接中的on、and、where条件使用

    数据库各种连接方式的on and where条件使用 文章目录 前言 使用on条件 A为主表 使用on条件 B为主表 使用on and主表条件 使用on where主表条件 使用on and条件 a type lt gt 1 使用on wh
  • GOME-2 SIF 数据链接

    目录 一 xiao Jinfeng 文章GOME 2 SIF 数据链接 网站 说明 引用 网页预览 一 xiao Jinfeng 文章GOME 2 SIF 数据链接 网站 https acd ext gsfc nasa gov People
  • 支持向量机算法(SVM)详细讲解(含手推公式)(《机器学习》--周志华)

    前言 本人是一个本科到研究生都坚持本专业的人 但是 本科时间被狗吃了 目前还是小白一只 曾经以为考研之后要继续学习一技之长找个工作养活自己 当然 现在发现这都是自己想太多了 哈哈哈 读研之后才知道基础不好的人学习起来是多么困难 但是 既然选
  • 深度学习实战:使用 PyTorch 和序列到序列(Seq2Seq)模型进行机器翻译

    机器翻译是自然语言处理中的一个重要任务 它涉及将一种语言的文本转换为另一种语言的文本 序列到序列 Seq2Seq 模型是一种强大的深度学习模型 用于处理机器翻译任务 在本篇博客中 我们将使用 PyTorch 和 Seq2Seq 模型进行机器
  • 我00后,会Python,月薪5000,兼职1.5w

    当代年轻人的终极烦恼 没钱 主业收入不高但处处都要花钱 特别是今年以来 很多人会在后台问我 做些什么副业好 兼职写文 不知道上哪儿找单 自己也不一定写得好 做wei商 被朋友屏蔽 没有客源也出不了单 摆地摊 东西卖不出去反而倒贴了一笔钱 淘
  • vue中实现点击展开和收起功能(具有动画效果)

    vue中实现点击展开和收起功能 具有动画效果 html div class marketplace aside b div class marketplace aside show that item text div div
  • 一个好玩的小游戏——麻神之战

    题目 一种新的麻将 只留下一种花色 并且除去了一些特殊和牌方式 例如七对子等 规则如下 共有36张牌 每张牌是1 9 每个数字4张牌 你手里有其中的14张牌 如果这14张牌满足如下条件 即算作和牌 14张牌中有2张相同数字的牌 称为雀头 除
  • Java 同步JSON字符串至ES(Elasticsearch) 添加时间戳(@timestamp)、版本(@version) 字段

    解决方法 仿照logstash同步原理 对于同步json字符串 首先将其解析 然后添加时间戳和版本字段 或其他字段 打入es public void insertEs String jsonStr JSONObject jsonObject
  • 95-36-210-ChannelHandler-系统Channel-TimeoutHandler

    文章目录 1 概述 2 继承体系 3 IdleStateHandler 3 1 典型构造方法 3 2 初始化方法 initialize 3 3 销毁方法destroy 3 4 核心的调度任务 ReaderIdleTimeoutTask 1
  • QT的补充知识

    一 文件 QFile QT提供了QFile类用于对文件进行读写操作 也提供了其他的两个类 文本流 QTextSream 和数据流 QDataStream 文本流 QTextSream 用于对文本数据的处理 并且是以字为单位进行读 写 数据流
  • 获取执行计划——使用动态性能视图和AWR、Statspacks

    上一篇中讲了如何使用EXPLAIN PLAN方法来获取sql执行计划 这篇继续讲另两种方法 使用动态性能视图和AWR报告 一 使用动态性能视图 查询动态性能视图我们可以获取丰富的信息 包括执行计划与游标信息等等 下面罗列几个常用的v 视图
  • Python IDLE 自动提示功能

    Python27 Lib idlelib 目录下 config extensions def文件修改等待时间 AutoComplete enable 1 popupwait 2000 2000表示2秒 修改为0 AutoComplete p
  • 分享一个页面

    先看效果 看下代码
  • 34. 注入篇——Cookie注入

    Cookie注入原理 1 数据读取流程 对于WEB服务器而言 读取数据的流程是先取GET中的数据 如果GET中没有数据信息 那么再取POST中的数据 如果POST中也没有那么就会去取COOKIE中的数据 2 防注入系统的常例 系统一般只会对