NISACTF2022–join-us(join using 无列名注入)

join-us — join-using 无列名查询

访问登录页面,看到一个cat u get flag 输入框 试试sql注入

有报错信息

图片[1] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

黑名单

by updatexml database union columns = substr

图片[2] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

爆数据库名

这里一步一步的测试过滤什么的时候,发现了 泄露了表的名称

在查询是 如果查询的列不存在 并且 没有关闭报错信息 可以查询一个不存在的列 这样会报错

图片[3] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

爆表名

方法一、brup爆破

这里忘记了考虑 过滤= like替换了 直接爆破 一般我们创建的表都是在最后的

图片[4] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

图片[5] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

方法二、like替换=

图片[6] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

join using 爆破列名

图片[7] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

查出来Fal_flag有以下三列

id
data
i_tell_u_this_is_Fal(se)_flag_is_in_another
1'or/**/extractvalue(1,concat(0x7e,(select * from(select * from Fal_flag a join Fal_flag b using(id,data,i_tell_u_this_is_Fal(se)_flag_is_in_another))c),0x7e))--+

图片[8] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

ok 不在上面的表

图片[9] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

图片[10] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

图片[11] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

{3bfb0ba4-dac9-425a-9e0f-cf2672d7afdd}

或者查data,结果都是一样的,配个mid 显示后面的

图片[12] - NISACTF2022–join-us(join using 无列名注入) - MaxSSL

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享