Access注入 —— Cookie注入(1)
每日一句:
坚持,成功不是一蹴而就的!
只要坚持每天进步一点,终会有成功的那一天
苦尽甘来,一切都是水到渠成
本文内容:
~Cookie注入简介
~怎么修改Cookie
~Cookie注入实战注意
~稍微总结注入
一、Cookie注入简介
1、什么是Cookie?
Cookie就是代表你身份的一串字符串,网站根据Cookie来识别你是谁,
如果你获取了管理员的Cookie,你就可以无需密码直接登录管理员账户
2,Cookie机制本身就不安全
~安全与用户体验性基本是成反比例,为了部分体验性,只好牺牲部分安全性
~http|https是无连接无状态协议
简单的说就是一锤子买卖,你买、我卖。交易完成后不再联系,更别说售后
多说一句,事实上http刚刚设计出的时候。
就是这么操蛋的使用的,基本每一步操作都需要登录验证身份
时间长了,大家都感觉这种体验性极差,想用个信物来售后,这就引出了Cookie之说
现在你浏览某网站,服务器先检测Cookie是否存在,不存在就给你一个
如果你没有登录,那么这个cookie就是游客状态,你登陆了A账户,
那么那个cookie就和A账户有了联系(给Cookie附上session),即那个cookie就代表了A账户
3,为什么Cookie和注入擦出了爱情的火花?
动态脚本语言存在全局变量可以获取多种传参方式,比如php中的
$_GET 可以获得get类型的传参
$_POST 可以获得post类型的传参
$_REQUEST 可以获得get、post、cookie类型的传参
//在高于5.4版本以上就不会接受cookie传参了
所以多说cookie注入发生在asp站点和使用老版本php的站点
如何知道使用什么语言和版本?
信息收集之网站指纹收集(不懂得同学去前边看看信息收集部分)
为什么说cookie注入,用get和post不行吗?
以后再实战中会遇到一种叫Waf的东西,会进行拦截。有的Waf比较傻,不对cookie进行检查
我们可以尝试用Cookie进行传参,然后进行绕过。。。
二、怎么修改Cookie
方法一:
burp抓包修改
方法二:
浏览器,按F12 调出控制台进行修改,输入document.cookie="id="+escape("171"),回车即可
上边escape函数的意思就是给cookie赋值 id=171 escape函数起编码作用
方法三:
在火狐上比较好用,按F12,点存储,左侧栏第一个就是Cookie,直接修改名称与值就行了
三、Cookie注入实战注意
1,步骤:
~打开一个站看到asp?id=XXX或者php?id=XXX 在后边补充and 1=1试试有没有被拦截
~被拦截了,按F12,输入document.cookie="id="+escape("XXX and 1=1 ")试试、
这要注意:将url中的?id=xxx 去掉 再回车一下
~若正常,则存在cookie注入,接下来正常操作就行了
2,Access数据库很老,他只有一个库,没有什么系统自带库(没必要知道库名)
数据库不会瞎命名
还有就是以前的人都很淳朴,没有什么安全意识
像admin就是存管理员信息的
news就是存新闻的
user就是存用户的
3,不知道表名字?
只能爆破,利用exists函数
用法:document.cookie="id="+escape("xxx and exists(select *from admin)") 若返回正常
则存在admin表,若不正常,则不存在
在这里可以用burp爆破,或者直接sqlmap跑得了(常见的表名字可以自己收集或者sqlmap的文件夹里)
4,sqlmap的跑法
sqlmap -u "url" --cookie "id=xxx" --level 2
//这个等级大于2都可以,实战建议3
四、稍微总结注入
显错注入对应得盲注
盲注一般有,布尔型盲注和延时注入
显错注入因为注入得方式(参数)不同有 get\post\cookie注入等
其他的就是一些 不常见的比如:宽字节注入、二阶注入