使用 sqlmap 获取主机名

Posted

技术标签:

【中文标题】使用 sqlmap 获取主机名【英文标题】:Getting hostname using sqlmap 【发布时间】:2016-07-17 23:38:22 【问题描述】:

有一个网站abc.com容易受到SQL注入,我已经通过sqlmap验证了这个,所以我得到了用户名和密码

https://github.com/sqlmapproject/sqlmap/wiki/Usage

但我注意到数据库在 oracle 上运行,我想获取主机以便我可以从 Oracle 客户端连接到数据库。

--hostname 返回abc.com,我怎样才能获得实际的数据库主机名,以便我可以使用 SQLMAP 通过 Oracle 客户端进行连接。

当我对 abc.com 进行端口扫描时,只有 40 和 443 是打开的。

P.S 仅供学习

谢谢

【问题讨论】:

【参考方案1】:

如果您可以在ORACLE 数据库的正确表上使用SELECT,这应该可以解决问题:

SELECT host_name from v$instance

如果您想了解有关如何连接的更多信息,那么您应该尝试

SELECT type , value FROM v$listener_network 

它将为您提供数据库网络名称,以及来自localhost 的连接字符串。

【讨论】:

v$instance 的数据库是什么? (抱歉我用mysql时间长了) 适用于 Oracle 数据库。我打错了,是HOST_NAME,不是HOSTNAME 这会返回 abc.com(实际上也是由 sqlmap 返回的) 然后查询v$listener_network 可能会有帮助。 那我就没有更多线索了。你可能会在 40 端口访问数据库,连接字符串如下:(ADDRESS=(HOST=abc.com)(PROTOCOL=tcp)(PORT=40)),也有可能只能在本地访问数据库。【参考方案2】:

如果你想连接到数据库,你可以简单地使用 --sqlmap-shell 来提示交互式 sqlmap shell。

sqlmap -u abc.com --sqlmap-shell   

但如果您想要当前数据库,也可以使用 --current-db 选项。

 sqlmap -u abc.com --current-db  

【讨论】:

以上是关于使用 sqlmap 获取主机名的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux shell中获取本机主机名

在 Flask 中获取没有端口的主机名

主机名与规范主机名

sh [macOS - 获取客户端主机名]获取客户​​端#macOS的主机名

PircBot 如何获取主机名

Linux命令之获取和修改主机名hostname