目录
前言
1. 环境
2. 应用程序安装
2.1 操作系统
2.2 安装IIS
2.3 部署asp
2.4 坑点
3. IIS+Access环境
3.1 数据库连接
3.2 访问网站
3.3 坑点
4. asp+SQL server
4.1 安装SQL Server 2008
4.2 管理SQL server
4.3 asp+SQL server环境搭建测试
最近要做一个漏洞复现,因为是asp的环境,于是想着写篇博客记录一下环境搭建的过程。IIS全称Internet Information Server,是微软开发维护的针对微软操作系统平台的一个web服务,兼容微软各项web技术,尤其是ASP.NET仅限于IIS上使用。当然IIS也支持CGI,IIS7以后的版本对Fast-CGI支持更好,PHP的性能也能在IIS上得到较好的发挥,但是JSP的支持是有一点麻烦,也基本没有企业使用IIS去部署JSP的网站。本人建议使用较新的版本。
操作系统:Windows 2003
中间件:IIS6
数据库:Access2010/SQL server 2008
本人是使用的2003,因为网络不好这个2003就拿来将个烂究吧,在虚拟机上安装好操作系统。本人建议使用较新的版本。
本人建议使用较新的版本,因为在真实的生产环境中使用老版本的环境会越来越少,本人是被迫无奈只能使用2003,在安装时需要注意。因为是在虚拟机中安装,所以需要将iso添加到主机内,然后在“控制面板”---->“添加或删除程序”。
使用鼠标点击后会出现如下内容:
选中“应用程序服务器”----点击“详细信息”,出现下图中的内容,记住勾选ASP.NET即可:
只提供关键性步骤。个人觉得应该很简单的,对于新手最大的问题可能是权限和端口的问题。
先停止iis安装好后默认搭建网站,在系统分区新建文件夹作为根目录,将源码移动进去。新建的WWW目录作为网站根目录
网站源码
开始新建网站。
点击下一步后出现选择网站根目录,指定刚才新建的WWW目录,指定网站根目录的目的是为了划清网站权限问题。
点击下一步,此处勾选“运行脚本(如 ASP)(S)”,如果要配和其他脚本语言请赋予其他权限。
添加默认文档内容
但是此时还是不能通过浏览器访问asp,需要在web服务扩展内开启Active Server Pages 。
点击新建的网站,选择属性,启用父路径。如果不启用有可能会无法访问,百度的解释我也没怎么看懂,就将个烂究吧。
Microsoft Office Access是由微软发布的关系型数据库管理系统。Access是微软把数据库引擎的图形用户界面和软件开发工具相结合在一起的数据库管理系统。它是Office家族的成员之一,Access已一种独立的格式将数据存储在基于Access Jet的数据库引擎里。因为该数据库属于文件型数据库,不需要使用端口号,跟接触到的Mysql不同。
在Office 2007之前的Access数据库文件的后缀是 .mdb,Office 2007及其之后的Access数据库文件的后缀是 .accdb。
Access是小型数据库,能力有限,如果存储的数据超过100M会对性能造成影响。且Access数据库没有/**/、--、#注释符号,不支持报错注入,不能利用该数据库执行系统命令。
因为Access是文件型数据库,主要是获取该文件内存储数据,使用的是一个开源的aspCMS,在这里就不提供了,这类开源CMS应该很多。
dim 定义变量
‘ asp的注释符为单引号
没有密码的连接:
Const AccessFile = "/db/database.mdb" '定义数据库链接文件,根据自己的情况修改
Dim conn, rst, sqlStr '定义数据库连接
Dim ra : ra = 0 '获取无返回记录命令执行影响的数据行数 备注:用于更新数据时判断是否实行成功
Dim comm
Set comm = Server.Createobject("ADODB.COMMAND")
Set conn = Server.CreateObject("ADODB.connection")
conn.connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AccessFile)
conn.Open
拥有密码的连接:
Const AccessFile = "/db/database.mdb" ' 定义数据库
Dim conn, rst, sqlStr ' 定义数据库连接
Dim ra :ra = 0 ' 获取无返回记录命令执行影响的数据行数 * 用于更新数据库时判断是否执行成功
Dim comm
Set comm = Server.Createobject("ADODB.COMMAND")
Set conn = Server.Createobject("ADODB.connection") ' 建立connecton对象,定义了一个adodb数据库连接组件
conn.connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AccessFile) & ";Jet OLEDB:Database Password=" & pwd
conn.Open ' 打开数据库
数据库权限问题,出现如下报错"操作必须使用一个可更新的查询"时表明数据库文件缺少写入权限。需要为其添加写入权限。
SQL Server数据库是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为 1433。数据库后缀名 .mdf,注释符是 '--' 。延时命令:WAITFOR DELAY '0:0:2'
在虚拟机中把iso文件挂载到系统,重启2003。
只需要双击“可移动存储的设备”
需要安装.NET 3.5
安装修补程序,基本没有什么异常操作,一直下一步跟随向导。
关键步骤可能需要重启,重启完成后再双击安装程序。
点击系统配置检查器
点击确定
开始安装
输入产品密钥点击下一步
点击接受许可条款,点击下一步
开始安装
一直跟随向导点击下一步即可,到“功能选择”时点击全选即可
“实例配置” 点击下一步。
“磁盘空间需求”点击下一步
接下来便是具体的配置要求,步骤如下图。
点击下一步即可
身份验证模式:混合模式;指定SQL server管理员:添加当前用户。点击下一步
根据向导继续下一步
然后一直点击下一步即可
安装进度体现
安装过程完成,点击下一步
在windows开始菜单中打开数据库管理工具
输入登陆名密码即可连接
连接成功截图
启用mssql,开启1433。
选择正确的.NET环境,基本就算成功了,找个开源的网站进行测试吧!
使用了开源cms(ROYCMS),数据库连接方式如下:
由于对ASPX和MSSQL不熟在最后一步花了很多的时间,不过终于是搞定了。
总结一波:接下来找个靶场打一波。
其实本次环境搭建还是有很多的问题,比如本人尝试使用自动安装跟随cms安装手册一直没有成功,因为这事儿差点耽搁了正经事儿。对于MSSQL一直不熟悉,所以趁着这个机会好好的学习学习。
全剧终