getshell
在我们学习getshell之前,我们先来了解一下什么是shell?什么是webshell?
shell
shell是一个程序,提供用户与操作系统内核连接的环境。它类似于DOS下的cmd.exe。shell也叫命令解析器,能够接收用户命令,然后调用相应的应用程序。
webshell
webshell又称脚本木马,一般分为大马和小马还有一句话木马。
大马:体积大,功能齐全,能够管理数据库和文件管理,对站点进行快速的信息收集,甚至能够提权。
小马:一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,我们可以通过小马来上传大马,实现所想要的功能
一句话木马:短小精悍,功能强大,隐蔽性强,使用客户端可以快速管理webshell
Webshell是通过服务器开放的端口获取服务器的某些权限。
getshell
攻击者通过多种漏洞常见如文件上传、SQL注入、命令执行、文件包含、解析漏洞等,将脚本文件上传到Web服务器,并让服务器解析,从而使攻击者能得到一个与服务器进行交互的命令执行环境,进而得以控制服务器。
SQL注入-getshell
利用sql注入获取系统权限的方法,一是利用outfile函数,另外一种是利用--os-shell。
into outfile
利用的前提条件:
知道网站的绝对路径(根目录,或者是根目录往下的目录都可以)
web目录具有写的权限,能够使用单引号
secure_file_priv没有具体值(在mysql/my.ini中查看)
secure_file_priv
secure_file_priv是用来限制load dumpfile、into outfile、load_file()函数在哪个目录下拥有上传和读取文件的权限。在mysql 5.6.34版本以后 secure_file_priv的值默认为NULL。如下关于secure_file_priv的配置介绍
secure_file_priv的值为null ,表示限制mysqld 不允许导入/导出
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入/导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysq