使用 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 获取主机名的主要内容,如果未能解决你的问题,请参考以下文章