[强网杯 2019]随便注

[强网杯 2019]随便注


打开网址,发现这是一道SQL注入题目

在这里插入图片描述
对sql注入题目,先查询有哪几张表,提交框输入1’ or 1=1;# 试试
在这里插入图片描述
发现并没得到啥有效信息。于是看看这输入框中查询的表有几列字段,直到输入1’ order by 3;# 发现报错误,说明只有两列。
知道两列后再搞清楚该输入框查询的是哪张表。输入1’; show tables;# ,显示在该数据库下存在两张表,1919810931114514,words
在这里插入图片描述
知道存在两张表后,查询这两张表的列字段,看看有没有啥有效信息
进入word表后,发现有id和data两列字段,说明之前可能查的是该表,但看列名字并没有啥有效信息
在这里插入图片描述
进入1919810931114514表后,发现只有一列,说明之前查询的一直都是word表,并发现有flag字段,说明答案在该表里
并且可以推出,提交框的sql语句大致为:

select id,data from words where id=

在这里插入图片描述
试试直接查询该表,输入1’; select flag from 1919810931114514; #
在这里插入图片描述
说明将select updata等语句过滤了,不能直接使用,但我们可以将1919810931114514表替换掉word表,这样前台查询的就是1919810931114514表的数据

1';rename table `words` to words2; 
rename table `1919810931114514` to `words`;
 alter table words change flag id varchar(100);# 

注意:上述操作最好一次完成,由于我们直接改变表名称,但后台的sql查询语句没有修改,若分多次完成,会导致直接报错;改变表名称后一定要同时修改1919810931114514列名称,不然后台select id,data from words where id= 语句会直接报错

修改完后,直接SQL注入,输入1’ or 1=1; 即可看到答案
flag{8c4d84ec-9e73-4059-96f5-4be09044b9e1}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值