(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。
图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:\*”。
图2 获取网站根目录位置
&说明
在本案例中,该操作系统为Windows 2003 Server,因此其Web目录跟Windows 2000 Server不一样,其大致操作都差不多,打开其IIS管理器后,查找网站目录并展开即可获知器网站的具体位置。
(三) 查看网页脚本,获取数据库连接文件。从第二步中获取了网站文件所在的物理路径,通过资源管理器到该网站根目录,然后使用记事本打开网站调用首页文件index.asp,如图3所示,从中可以获取其网站数据库连接文件极有可能为“i_include/database_.asp”。
图3 查看网站首页文件
(四) 获取数据库用户账号和密码等信息。在网站根目录中打开“i_include”文件夹在其中找到“database_.asp”文件,使用记事本打开,其脚本如图4所示,从该脚本中获取其数据库类型为“SQL Server”,数据库服务器地址为本地(Local),用户为“sa”,密码为“111”,数据库为“j***”,通过该文件中的conn.DefaultDatabase=“job_demo21_data_new”还可以知道,该系统极有可能来自网上。
图4 获取数据库的用户以及密码等信息
(五) 实施控制。在本案例中,如果数据库不是本地,则可以通过注册SQL Server或者直接使用SQLTools连接,添加用户和密码、执行命令等。
安全防范措施
(1)使用vb等编程语言将将数据库连接模块写成dll,使用时在系统中注册即可。不过托管在虚拟主机上的个人网站来说,注册dll比较麻烦。
(2)使用微软自带的screnc软件进行加密。
小结
本案例通过利用漏洞攻击,获取了系统的用户和密码,通过系统中的原有远程控制软件,轻松获取了数据库帐号和密码等信息。