我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL注入GetShell的方法(1)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL注入GetShell的方法(1)

目录

一、注入条件

二、注入相关函数和语句

三、联合写入

四、分隔符写入

五、日志写入

六、堆叠写入

七、--os-shell


一、注入条件

使用sql注入进行文件上传功能获取getshell,它有以下三个条件

最高用户权限 root

网站的根路径

开启secure_file_priv功能,要具有读写权限

//查看读写权限 show variables like '%secure%'
(1)secure_file_priv= 代表对文件读写没有限制
(2)secure_file_priv=NULL 代表不能进行文件读写
(3)secure_file_priv=d :/phpstudy /mysql/data 代表只能对该路径下文件进行读写

二、注入相关函数和语句

1、load_file()

load_file(file_name) :读取文件并返回该文件的内容作为一个字符串 使用条件: 1、必须有权限读取并且文件必须完全可读 and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限。 and (select count(*) from mysql.user)>0/* 返回错误,应该是管理员给数据库帐户降权 2、欲读取文件必须在服务器上 3、必须指定文件完整的路径Mysql 注入4、欲读取文件必须小于 max_allowed_packet 如果该文件不存在,或因为上面的任一原因而不能被读出,函数返回空。比较难满足的就是权限,在 windows 下,如果 NTFS 设置得当,是不能读取相关的文件的,当遇到只有administrators 才能访问的文件,users 就别想 load_file 出来。

2、load data infile

LOAD DATA INFILE 'file_path'INTO TABLE table_name[OPTIONS] 用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串 ​其中,file_path为要导入的文件路径,table_name为目标表的名称,OPTIONS为可选项,用于指定一些导入参数,如字段分隔符、行分隔符等。

3、into outfile

INTO OUTFILE 'file_name' 用于将查询结果导出到指定的文件中,其中的'file_name'是导出文件的路径和文件名 ​我们一般有两种利用形式: 第一种直接将 select 内容导入到文件中: Select version() into outfile “c:\\phpnow\\htdocs\\test.php”  此处将 version()替换成一句话, 也即 Select  into outfile “c:\\phpnow\\htdocs\\test.php”  直接连接一句话就可以了,其实在 select 内容中不仅仅是可以上传一句话的,也可以上传很多的内容。 ​​第二种修改文件结尾: Select version() Into outfile “c:\\phpnow\\htdocs\\test.php” LINES TERMINATED BY 0x16 进制文件 解释:通常是用‘\r\n’结尾,此处我们修改为自己想要的任何文件。同时可以用 FIELDSTERMINATED BY16 进制可以为一句话或者其他任何的代码,可自行构造。 ​在 sqlmap 中 os-shell 采取的就是这样的

来源地址:https://blog.csdn.net/qq_45014174/article/details/130530661

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL注入GetShell的方法(1)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sql注入or1=1什么意思

sql 注入中的 "1=1" 表达式始终为真,允许攻击者绕过查询条件,访问或修改数据库数据,包括窃取敏感信息和修改数据库记录。为了防止 sql 注入,需要对用户输入进行验证和过滤,使用参数化查询或准备好的语句,并使用输入验证函数检查输入的格
sql注入or1=1什么意思
2024-06-12

php sql注入的方法有哪些

SQL注入是一种常见的网络安全漏洞,攻击者利用此漏洞可以执行恶意SQL语句,从而获取敏感数据或者对数据库进行修改。以下是一些常见的PHP SQL注入的方法:1. 基于用户输入的拼接:攻击者通过向用户输入的数据中插入恶意的SQL代码,从而破坏
2023-08-23

php sql注入的方法有哪些

这篇文章将为大家详细讲解有关php sql注入的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL注入的类型1. 字符级注入使用特殊字符(如单引号或分号)来终止SQL查询并插入恶意代码。例如:SELECT * FROM users WHERE username="ad
php sql注入的方法有哪些
2024-04-13

ThinkPHP防止SQL注入攻击的方法

ThinkPHP框架提供了多种机制来防御SQL注入攻击,包括预防措施、检测和过滤技术。通过使用参数化查询、正则表达式过滤、内置SQL注入检测功能,以及其他安全措施,ThinkPHP可以有效防止恶意SQL语句的执行。开发人员还应遵循最佳实践,如验证用户输入、使用安全API和库,并进行定期安全审计,以确保应用程序的安全性。
ThinkPHP防止SQL注入攻击的方法
2024-04-02

SQL注入的防御方法有哪些

这篇文章主要介绍了SQL注入的防御方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL注入的防御方法有哪些文章都会有所收获,下面我们一起来看看吧。限制数据类型在传入参数的地方限制参数的类型,比如整型
2023-07-02

Mybatis对SQL注入的方法是什么

本篇内容介绍了“Mybatis对SQL注入的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mybatis聊聊对SQL注入的见解1.
2023-06-22

jdbc防止sql注入的方法有哪些

使用PreparedStatement来执行SQL语句,而不是Statement。PreparedStatement使用占位符来代替参数值,可以防止SQL注入攻击。对用户输入的数据进行合法性验证和过滤,只允许特定的字符或格式。使用ORM框架
jdbc防止sql注入的方法有哪些
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录