前言
由于kali linux的版本不同,默认情况下对metasploit和postgresql的配置也不相同,导致我们启动metasploit后连接postgresql数据库会遇到无法连接的情况。下面就三种情况,简单的给大家描述一下,以及遇到问题的解决方案。
理想状态
理想情况下,只需要两步即可。
- 启动postgresql
service postgresql start
- 启动mestasploit
service metasploit start
在metasploit中输入db_status查看数据库连接状态,为已连接。
手动连接
当启动metasploit后,发现并没有自动连接postgresql数据库时,需要手动连接。
连接的命令为 db_connect 用户名:密码@ip/数据库名。实际情况可能是:
msf>db_connect msf3:[email protected]/msf3
那么到哪里去找用户名和密码呢?
打开这个文件:/opt/metasploit/apps/pro/ui/config/database.yml。
文件内容可能如下:
development:
adapter: postgresql
database: "msf3"
username: "msf3"
password: "zFhyomTtRt4P8ZF868KUyhmKvqQkvjE"
host: localhost
port: 5432
pool: 5
timeout: 5
在上面示例的配置文件中我们能看到数据库名称,用户名和密码,把这几个选项替换到上面的db_connect命令中就可以了。
从零开始
如果你的运气确实不佳的话,发现连database.yml文件都找不到的话,千万不要灰心,老天想让你多学点东西而已。
首先打开终端,确保postgresql服务已经启动,然后切换当前账户到postgre账户。
su postgres
第二步,输入如下命令创建一个postgresql数据库账户。
create user msf3 –P
命令中的msf3就是要创建的用户,当然你可以输入任何其他用户名。
接着,终端中会提示你输入密码,然后确认密码,这里我设置密码为“msf”。
然后询问你该账户的权限,输入y或者n都无所谓。
第三步,创建数据库。
createdb --owner=msf3 msf3
owner参数指定数据库的所有者,这里为msf3,最后一个参数为数据库名称,这里也设置为msf3。
第四部,输入exit退出当前用户,回到root上下文中。回到手动连接的步骤
[email protected]: msfconsole
msf > db_connect msf3:[email protected]/msf3
恭喜你,成功了。如果还有其他问题,欢迎在QQ群中找我,共同交流。
ps:对此文章感兴趣的读者,可以加qq群:Hacking:303242737(已满);Hacking-2群:147098303;Hacking-3群:31371755;hacking-4群:201891680;Hacking-5群:316885176
作者:玄魂
出处:http://www.cnblogs.com/xuanhun/
原文链接:http://www.cnblogs.com/xuanhun/ 更多内容,请访问我的个人站点 对编程,安全感兴趣的,加qq群:hacking-1群:303242737,hacking-2群:147098303,nw.js,electron交流群 313717550。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。