sql注入常见写shell方法
SQL注入的常见写Shell方法
1、SQL注入写Shell
SQL注入攻击的典型目的是执行恶意的操作,包括写Shell。参考OWASP的SQL注入攻击以及处理手段:
(1)Mysql:
load_file()方法:Mysql的load_file()函数可以将指定位置的文件加载到Mysql中,而且加载时可以不提供文件的绝对路径,利用它可以实现写Shell。
例如:
代码如下:
SELECT load_file('/var/www/html/1.php');
可以加载1.php文件到Mysql中,从而实现写入Shell。
into outfile()方法:Mysql的into outfile能够将指定的数据写入到文件中,利用它也可以实现写Shell。
例如:
代码如下:
SELECT 'phpinfo();' into outfile '/var/www/html/1.php';
可以将phpinfo()函数写入到1.php文件中,从而实现写入Shell。
(2)Oracle:
当一个Oracle实例启动时,会自动执行该实例的a文件中定义的内容,因此可以在a文件中添加执行外部文件的函数来实现写Shell。
(3)SQL Server:
与Mysql类似,SQL Server也拥有两种写Shell的方法。
exec master.dbo.xp_cmdshell():使用xp_cmdshell可以执行任意的操作系统命令,可以用来写Shell。
例如:
代码如下:
exec master.dbo.xp_cmdshell('echo test>c:1.php');
可以将文件1.php写入到C盘中,从而实现写入Shell。
mysql下载到了c盘 bulk insert:bulk insert可以将外部文件中的数据导入到数据库中,可以用来实现写Shell。
例如:
代码如下:
BULK INSERT 表名 FROM 'c:1.php' WITH (FIELDTERMINATOR = '');
可以将1.php文件中的内容导入到数据库中,从而实现写入Shell。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论