BUUCTF[强网杯 2019]随便注1

先判断是单引号闭合还是双引号闭合

输入单引号,发现报错

接下来开始查询字段数

到3的时候报错了,说明是2个字段

接下来就该查询回显的位置

但是输入后发现select被过滤了

尝试了大小写绕过,还是不行。木有办法了,又去看了wp,发现用了堆叠注入,就是一次性执行多条sql语句。

查一下表名

看words中的内容,发现没有flag的相关信息

在看那一串数字的,但是这里要注意那一串数字的表名要用反单引号括起来,因为定义的数据类型,字段添加标识符反单引号,值进行转义处理。

那么接下来就是要去看flag中的信息,wp中用到了,但是没有显示flag的信息

1' or 1=1#

wp中用到了下面的操作

  - 我们把表 words 改名为其它,
  - 然后把表 1919810931114514 改名为 words ,
  - 再在表 1919810931114514 插入一列 id ,
  - 或直接将列 flag 改名为 id ,
  - 当我们再次查询时,不就是查询 flag 所在表了吗,且可以被展示出来。

下面是payload

- 1';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;#

然后在用显示所有的内容就可以了


关于这些方面真的太欠缺了,后面要多学习,下来要好好消化。

wp中还有一种方法是通过handler读取数据,但是现在还是先把上面的东西先弄熟再去学习它,后面在写一个用它的解法和相关知识。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值