gpt4 book ai didi

python - 使用 SQLMap 中的凭据直接连接到数据库

转载 作者:行者123 更新时间:2023-11-29 04:34:07 24 4
gpt4 key购买 nike

我有一个 TARGET 网站数据库的凭据和 SQLMap 声明您可以直接连接到数据库这是我在 Kali Linux 中的 SQLMap 命令

sudo sqlmap -d mysql://USER:PASSWORD@TARGET_IP:MySQL_Port/DATABASE

例子

sudo sqlmap -d mysql://admin:12345@95.12.45.12:3306/information_schema

但这是我每次都遇到的错误

[CRITICAL]  SQLAchemy connection issue ('(_mysql_exceptions.OperationalError)
(1045, "Access denied for user 'admin'@'17.45.65.11' (using password: YES)")')

IP 17.45.65.11 是我被拒绝的 IP ofc

那么我的命令有问题吗?

或者有人知道使用凭据直接连接到目标数据库的更好方法吗?

最佳答案

MySQL 的凭据不仅包括用户名和密码,还包括一组允许的 IP 地址。所以,即使我们有正确的用户名和密码,但连接是从一个不允许的 IP 建立的,我们也会从 sqlmap 得到 1045“访问被拒绝”错误。

为了说明问题,我使用用户 admin 设置了一个测试数据库 testdb。以下是用户的凭据:

MariaDB [testdb]> select host,user,password from mysql.user where user='admin';
+-------------+-------+-------------------------------------------+
| host | user | password |
+-------------+-------+-------------------------------------------+
| 92.168.0.20 | admin | *00A51F3F48415C7D4E8900010101010101010101 |
+-------------+-------+-------------------------------------------+

host 列所示,用户admin 只能从IP 92.168.0.20 访问服务器。现在,如果我从此 IP 运行 sqlmap,它会成功:

$ sudo sqlmap -d 'mysql://admin:12345@92.168.0.99:3306/testdb'

...

[*] starting at 09:28:43

[09:28:43] [INFO] connection to mysql server 92.168.0.99:3306 established
[09:28:43] [INFO] testing MySQL
[09:28:43] [INFO] resumed: [[u'1']]...
[09:28:43] [INFO] confirming MySQL
[09:28:43] [INFO] resumed: [[u'1']]...
[09:28:43] [INFO] the back-end DBMS is MySQL
back-end DBMS: MySQL >= 5.0.0
[09:28:43] [INFO] connection to mysql server 92.168.0.99:3306 closed

[*] shutting down at 09:28:43

如果我从不同的 IP 运行 sqlmap,它会失败并显示 1045“访问被拒绝”错误(与您的输出完全一样):

$ sudo sqlmap -d 'mysql://admin:12345@92.168.0.99:3306/testdb'

...

[*] starting at 09:32:00

[09:32:00] [CRITICAL] SQLAlchemy connection issue ('(_mysql_exceptions.OperationalError)
(1045, "Access denied for user 'admin'@'92.168.0.55' (using password: YES)")')

[*] shutting down at 09:32:00

因此,如果您确定您拥有正确的用户名和密码,则问题很可能在允许的 IP 中。创建 MySQL 用户时,通常的做法是只允许从本地主机访问。因此,您可能拥有正确的用户名和密码,但您只能在服务器本地使用它们。另一方面,服务器接受来自外部的连接这一事实可能表明允许其他一些 IP 进行连接。在这种情况下,您必须找出允许的 IP 并从其中之一进行连接。

关于python - 使用 SQLMap 中的凭据直接连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49080027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com