通过网页文件获取数据库账号和口令
Simeon
通过本案例可以学习到:
(1)了解动态网页的相关知识
(2)通过动态网页文件来获取数据库账号和口令
动态网页其显著特点之一就是与数据库的交互,只要涉及到大型数据库,动态网页调用其数据库一般都需要数据库账号和密码。这些大型数据库主要以SQL Server和Oracle数据库为代表,Access一般不设置密码,即使设置密码可以使用“Access密码查看器”获取其密码。当网站或者信息系统在调用数据库时,需要进行连接,考虑到执行效率和编码效率等原因,一般都将数据库连接等单独写成一个模块,这些文件主要用来连接数据库。在这些文件中会包含数据库服务器的IP地址、数据库类型、数据库用户账号以及密码等信息。
当控制或者获取一个Shell后,可以通过查看Index. asp、Index.php以及Index.jsp等,从中去查看数据库连接文件,数据库连接文件的名称比较容易识别,例如conn.asp、dbconn.asp等,这些文件可以在网站根目录、inc文件夹、includes等文件中。通过查看这些网页文件,获取数据库IP地址、数据库用户账号以及口令,利用获取的信息可以进行计算机渗透、提升权限以及实施完全控制。本案例以国内某视频招聘网为例,来介绍了如何通过动态网页来获取数据库的账号和口令。
确认网站脚本类型。确认网站脚本类型主要通过打开网站并访问其网站中的网页来确定,在本例中,打开IE浏览器在其地址栏中输入IP地址“61.*.*.*”,打开网站后如图1所示,在浏览其的最底下的状态栏中可以看到详细的地址和文件显示,在本例中可以看到“http://*.*.*.*/shi.asp”,说明该网站脚本类型为asp。
![](http://blog.51cto.com/attachment/200712/200712181197945094193.jpg?x-oss-process=image/resize,w_1400/format,webp)
图1 获取网站脚本类型
J
技巧
(1)可以直接通过在浏览器中输入“http://*.*.*.*/index.asp”、“http://*.*.*.*/index.php”、“http://*.*.*.*/index.jsp”等来判断网站的类型,其方法是IP地址+文件名称,文件名称可以是index.asp(jsp/php/aspx),也可以是default.asp(jsp/php/aspx)等。
(2)如果打开网页后,还无法确定该网站类型,则可以通过单击网站中的链接地址来确定,如果打开链接的网页名称为asp,则网站脚本类型为asp,其它脚本类型判断原理相同。
(3)打开“Internet 信息服务(IIS)管理器”后,单击其“网站属性”中的“文档”可以获取其网站默认文档名称。
获取网站具体目录位置。在本案例中,利用漏洞攻击的方法获取了该系统的用户帐号和口令,利用Radmin远程控制软件直接进行完全控制,进入系统后,在该桌面发现有“Internet信息服务”快捷键,双击该快捷键进入“Internet 信息服务(IIS)管理器”,依次展开至网站,选中“Web”网站文件夹,右键单击,然后选择“属性”,打开Web属性窗口,如图2所示,然后单击“主目录”获取其网站根目录为“D:\*”。
![](http://blog.51cto.com/attachment/200712/200712181197945108133.jpg?x-oss-process=image/resize,w_1400/format,webp)
图2 获取网站根目录位置
&
说明
在本案例中,该操作系统为Windows 2003 Server,因此其Web目录跟Windows 2000 Server不一样,其大致操作都差不多,打开其IIS管理器后,查找网站目录并展开即可获知器网站的具体位置。
查看网页脚本,获取数据库连接文件。从第二步中获取了网站文件所在的物理路径,通过资源管理器到该网站根目录,然后使用记事本打开网站调用首页文件index.asp,如图3所示,从中可以获取其网站数据库连接文件极有可能为“i_include/database_.asp”。
![](http://blog.51cto.com/attachment/200712/200712181197945122213.jpg?x-oss-process=image/resize,w_1400/format,webp)
图3 查看网站首页文件
获取数据库用户账号和密码等信息。在网站根目录中打开“i_include”文件夹在其中找到“database_.asp”文件,使用记事本打开,其脚本如图4所示,从该脚本中获取其数据库类型为“SQL Server”,数据库服务器地址为本地(Local),用户为“sa”,密码为“111”,数据库为“j***”,通过该文件中的conn.DefaultDatabase=“job_demo21_data_new”还可以知道,该系统极有可能来自网上。
![](http://blog.51cto.com/attachment/200712/200712181197945143594.jpg?x-oss-process=image/resize,w_1400/format,webp)
图4 获取数据库的用户以及密码等信息
实施控制。在本案例中,如果数据库不是本地,则可以通过注册SQL Server或者直接使用SQLTools连接,添加用户和密码、执行命令等。
安全防范措施
(1)使用vb等编程语言将将数据库连接模块写成dll,使用时在系统中注册即可。不过托管在虚拟主机上的个人网站来说,注册dll比较麻烦。
(2)使用微软自带的screnc软件进行加密。
小结
本案例通过利用漏洞攻击,获取了系统的用户和密码,通过系统中的原有远程控制软件,轻松获取了数据库帐号和密码等信息。
郑重声明:
本案例以及前后所有案例介绍的内容只是为了让读者了解黑客攻击的一般原理和方法,从而加强网络安全的意识,并非让读者真正的成为危害网络及社会的黑客。由于读者利用本blog介绍的某些方法和工具对网络或别人的系统造成了危害或严重后果,作者不负任何责任。由此带来的一切法律后果由使用者自负
本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/55704