一句话木马写入以及通过sql进行服务器的远程控制

在开始之前我想先在这里提醒选择阅读这篇博客的读者。因为本人初涉安全领域知识。关于sql盲注尚处于学习和摸索状态,存在对些许知识点和概念理解尚不清晰甚至是完全偏差的问题。此博客亦是只起到对现所学知识的一个记录。所以只起到一个借鉴的作用,并不建议读者用作专业知识学习。

在演示通过sql进行服务器的远程控制之前,必须首先清除两个基本的概念,也就是一句话木马以及如何通过into_outfile写入代码并控制DMS。

首先要说的是一句话木马。一句话木马,顾名思义就是短小的,简练的代码,避免复杂,冗长。且一句话木马隐蔽性好,功能强大。一句话木马写入以及通过sql进行服务器的远程控制_第1张图片
这里引用以为专业人员对于一句话木马的概述。实际上一句话木马就是利用各种语言中用来执行代码的函数(即用来执行操作系统命令的函数),通过它来构造简单的木马程序。将相应的函数写入到一个文件中(远程目录),通过对文件的访问来实现函数,通过向该函数传递想要进行的操作来间接实现对DMS的操作。
值得提及的是,不同的语言的一句话木马也不同,由于数量过多,在此不方便一一列举。如果有想要了解的读者可以自行到网上进行相关的查找。

有了一句话木马,当然要将其写入到DMS相应的目录中,才能进行后续的操作,那该如何将其写入到DMS中呢。在这里用到了into_outfile函数的方法一句话木马写入以及通过sql进行服务器的远程控制_第2张图片
但是要注意的是,这不是没有条件的使用的,在不满足下述条件的情况下,即是使用into outfile也无法将一句话木马写入到远程目录中。
**1.**需要知道远程目录。
要将木马写入到相应的文件,自然要先知道相应文件的位置。否则无法输入(但应该清楚,作为测试者本身其实并不知道后台的具体文件位置),就算是胡乱输入到一个文件中,但因为不知道具体路径,也无法访问。
**2.**这个远程目录,必须具备可以写入的权限。很多网站是没有赋予使用者写入权限的,以此来避免遭到远程操作。没有写入权限,自然无法完成后续操作。
**3.**这个数据库还需要开启secure _file_priv,在默认情况下mysql新版本中的这个选项是关闭的(也就是NULL),这也造成无法写入程序。

当然,因为在这里仅仅是测试和练习木马写入来实现远程控制,自然是在满足这三个条件前提下的练习展示。
1.下面的是apache在linux上的默认目录。也就是说远程目录已知。在这里插入图片描述
2.将secure _file_priv的值有NULL改为空值,满足第二个条件一句话木马写入以及通过sql进行服务器的远程控制_第3张图片
至此,人为创造的木马写入的环境构造完成,下面正式进入木马注入的练习展示。
获得操作系统权限的payload:在这里插入图片描述
上图payload大意,将一句话木马写入到select中,将其结果通过into outfile写入到后面所示的文件中 ,
将其输入到练习品台的前台登陆页面中在这里插入图片描述
但无法看到任何反馈一句话木马写入以及通过sql进行服务器的远程控制_第4张图片
但没关系,可以到服务系统中查看是否写入在这里插入图片描述
可以清楚的看见1.php已经写入。在这里插入图片描述
然后通过网址访问在这里插入图片描述
一句话木马写入以及通过sql进行服务器的远程控制_第5张图片
可以看见被执行了,达到了控制执行的目的。

你可能感兴趣的:(一句话木马写入以及通过sql进行服务器的远程控制)