mysql执行shell命令_sqlmap --os-shell原理

本文详细介绍了sqlmap如何在不同数据库环境中利用注入获取os shell的原理,包括MySQL、SQL Server的测试环境、步骤及数据包分析,展示了sqlmap在执行系统命令、上传shell、删除shell等方面的操作。
摘要由CSDN通过智能技术生成

前言

当数据库为MySQL,PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。

在mysql、PostgreSQL,sqlmap上传一个二进制库,包含用户自定义的函数,sys_exec()和sys_eval()。那么他创建的这两个函数可以执行系统命令。

在Microsoft SQL Server,sqlmap将会使用xp_cmdshell存储过程,如果被禁(在Microsoft SQL Server 2005及以上版本默认禁制),sqlmap会重新启用它,如果不存在,会自动创建

接下来我会通过注入、SQLSERVER数据库、Mysql数据库进行介绍os shell原理。

注入

必要条件:

  • 拥有网站的写入权限
  • Secure_file_priv参数为空或者为指定路径。

普通注入--os-shell主要是通过上传一个sqlmap的马,然后通过马来进行命令执行。


测试环境:

操作系统: Microsoft Windows Server 2012 Standard
数据库:Mysql 5.1.60
脚本语言:PHP 5.4.45
Web容器:Apache 2.4.39

利用sqlmap进行注入检测。

f3b6614b5c95a52de6eb1620ceb5f34b.png

然后执行--os-shell

3a15fb038d8df924070c41ebfe4f345f.png

这个时候sqlmap主要做了三件事情:

1、进行目标的一个基础信息的探测。
2、上传shell到目标web网站上。
3、退出时删除shell。


wireshark捕获数据包,只查看http数据包。

b75dc0bdce3aad4f6c52af064a825168.png

1、sqlmap上传一个上传功能的马。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用`--sql-shell`选项可以让你在目标数据库上执行任意的SQL语句。以下是使用`--sql-shell`选项的基本步骤: 1. 首先,使用SQLMap进行探测并确认数据库注入漏洞是否存在。可以使用以下命令进行探测: ``` sqlmap -u <target-URL> --dbs ``` 2. 确认存在注入漏洞之后,可以使用以下命令获取数据库中的所有表: ``` sqlmap -u <target-URL> -D <database-name> --tables ``` 其中,`<database-name>`是你想要访问的数据库名称。 3. 根据需要选择你想要访问的表,并使用以下命令获取表中的所有列: ``` sqlmap -u <target-URL> -D <database-name> -T <table-name> --columns ``` 其中,`<table-name>`是你想要访问的表名称。 4. 根据需要选择你想要访问的列,并使用以下命令获取`--sql-shell`: ``` sqlmap -u <target-URL> -D <database-name> -T <table-name> -C <column-name> --sql-shell ``` 其中,`<column-name>`是你想要访问的列名称。 5. 输入`--sql-shell`后,你将进入SQL Shell命令行提示符,此时你可以输入任意的SQL命令,并按回车键执行。例如: ``` mysql> SELECT * FROM users WHERE username='admin'; ``` 这个命令将返回名为`users`的表中用户名为`admin`的行的所有数据。 请注意,这些命令只是SQLMap获取SQL Shell的基本用法。具体步骤取决于你想要访问的数据库和表。同时,需要强调的是,这种方法只适用于合法的授权情况下,任何未经授权的访问都是违法的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值