web渗透,攻防环境搭建
攻防环境搭建
知己知彼,百战不殆。既然我们要进行web渗透,那么了解web服务的各种搭建对我们的工作也好,学习试验也罢都会有很大的帮助。这里,为大家展示一下自己搭建过得几个网站架构,有错误的地方多多包涵...
首先我们必须清楚web环境的四个要素
系统+中间件+脚本语言+数据库
常用的web渗透环境搭建:
win+iis+asp+access;win+iis+asp/aspx+mssql;win+iis+aspx+oracle;
win/linux+apache/nginx+php/jsp+mysql/oracle;
win+iis+asp+access搭建
开始搭建:
在window2003中进行部署
(注意安装的时候,虚拟机的镜像也就是cdrom 一定要是当前系统所对应的版本,这里所对应的一定是2003)
win+iis+asp中已经默认包含access数据库,所以无需额外添加
打开控制面板,点击添加或删除程序
点击添加删除windos组件
只要是微软的操作系统一定都有这个(Internet 信息服务 iis) 这个叫做iis中间件 微软操作系统的中间件是集成到系统里面的,不需要单独进行安装。
但是apache等中间件就需要自己下载进行安装了
就会回到这个页面
点击下一步,进行安装就可以了
安装成功以后,就会在菜单看到这个了
点击就出现了这样的页面
开始部署网站之前,一定要确保asp服务开启,也就是图中红色点那个地点
因为默认网站用处不大,我们这里先给他右键点击停止,也就是如图所示
然后再网上下载开源的建站代码 ,同时在2003上面安装一个解压软件,将建站代码文件解压到指定目录下,最好全英文名。
这里面就是解压好的建站代码
然后点击网站进行新建
一般这里的描述,是和生产环境相匹配的。这里作为测试环境就随便写了
插入小知识
搭建网站注意的点
IP地址在生产环境里面 ,尽量不要重复,如果必须重复,那也要确保端口不一样。
而且最好是公网地址,如果非要用内网地址,就必须使用NAT网络模式代理了否则只能内网访问。这里作为测试环境,就使用内网地址就可以了。
测试环境就不布置多主机头以及多IP进行访问了 ,只更改端口进行多网站搭建就行了。
然后进行路径选择
(这里的路径选择就是你建站源代码存放的位置,我这里存放的就是C盘下的www中,所以就选的这个)
搭建asp一定要把 运行脚本这个给勾选上
刚开始建立网站时,为了后面步骤顺利全部权限打开都没问题。建站完成后关掉对应权限!一般读写权限分离!
点击下一步完成安装后,点击index.asp (也就是首页文件)进行浏览测试,建议是有谷歌浏览器。
般默认的管理员账号和密码都是admin和admin
输入以后,就会出现这个页面,然后进行排错。
搭建网站排错
这个错误只有asp的网站才会报这个错误 同时还是数据库的错误
然后就查找数据库
asp数据库也就是上文提到的access数据库的扩展名是.mdb
找到这个数据库文件以后,系统说是只读的,但是我们打开这个文件的属性发现不是只读的
并没有勾选只读的选项,所以说明不是只读的。
通过点击网站的属性
会看到有这个用户。
中间件也就是iis运行web站点的时候,默认的用户是图中的这个用户。
通过看网站的权限可以看到
我们需要为网站添加这个用户并给予写的权限!步骤如下
发现没有权限,给了权限点击确定以后,只是说这个用户拥有对当前文件的写入权限,然后再高级里面进行父权限继承操作
再次进行访问就成功了
这是权限问题,同时也是最常见的问题
然后使用账号admin 以及密码admin 进行登录
又会出现错误
开始排错
为了避免多个网站多次操作直接点击网站文件夹属性进行排错设置!
受限添加目录的读写权限,(当然,网站搭建完成后要进行读写权限分离)。然后勾选父路径,这样该目录下所有的网站都会继承此设置。
然后确定 重新刷新网页以后就会出现新的错误
看到这个错误 有可能就是更属性里面的主目录或者文档这两个选项有关系
打开属性中的文档
把index.html 和index.asp两个文件名给添加上且排在前边。然后刷新重新登陆就可以了
这个问题应该是缺少了头部文件导致的,我们给添加上了头部文件,所以就好了。
配置完这些以后,系统会提示要覆盖,全部覆盖件就行了。
但如果上面的错误还是没有排处,经过实践得知 是代码的问题。不是自己设置的问题。
总结排错要点:
1.点击网站属性增加iuser_admin用户且给写入权限
2.直接点击网站目录属性,增加index.html/index.asp默认内容文档。增加主目录写入权限,且打开父路径设置。
其他的网站同样方式搭建!
注意:同一ip地址下,端口不要重复呦。
如何查看本地占用的端口呢? netstat -an
访问方式:
多IP访问
多端口访问 (第一个站点是80端口,第二个站点就是82端口,以此类推 这种情况是适用于就一个IP地址的情况) (并且端口不能被其他服务占用)
多主机头标进行访问,适用情况:只有一个公网IP地址,也不想使用其他端口,那就使用多主机头的方式进行创建。但是访问效率逐级下降
win+iis+asp/aspx+mssql环境搭建
aspx是asp的升级版本 ,也是由微软创建的。aspx是大型站点,需要和mssql或者orecal数据库进行维护。
开始搭建
在刚才aspx基础上安装数据库
选择数据库镜像:
选择这个镜像后,虚拟机会多出个可移动存储设备来,打开进行安装就行了
点击确定以后,就会出现下面这个页面,点击确定就可以了。
之后就会出现这个页面,点击我阅读 然后安装就可以了
安装完成,点击退出以后,有可能还会出现安装的界面,不用管,再次取消退出就可以了
点击这个 也进行安装一下
直接下一步进行安装就可以了,安装成功以后需要重启电脑。
重启以后,再次点击我的电脑中的这个目录,然后就会出现这个页面
同时还会带出来一个页面
然后点击安装就可以了
点击确定 ,下一步 , 然后就会来到这个界面
注意做实验就可以把这些勾全部勾选上。生产环境在说。然后点击下一步就行
一直点击下一步到达这个页面
(点击启用)
然后添加一个管理员账号,密码就是管理员密码 这里就是123456
安装完成以后就到了这一步。
点击关闭以后,就代表我们的SQL server已经安装好了。
安装好以后,也可以在菜单栏中看到
安装完成以后,在安装一个软件。
net framework 4 安装
打开软件的界面就是这个样子
一路下一步以后,电脑会重启。
配置aspx网站
电脑重新开机后,开始新建网站(06,aspx网站文件),配置方式和asp网站基本一样!
aspx排错
点击浏览以后,就会出现一个错误。
不能访问的原因是: ASP net framwork 版本太低或者被禁用
点击web服务扩展,ASP.net 这个是禁用的,我们给开启就可以了。(这个网站只需要4.0,所以我们启动4.0就可以了)
启动完成以后,我们点击部署网站的属性,然后点击ASP.net 然后选择4.0就可以了
然后刷新一下就出现了页面。
用户名是:yuan
密码是:123
登陆以后,刷新页面就会出现另一个错误了。
这个错误出现的原因是因为:数据库还没有导入进去,账号和密码都是保存在数据库里面的。
开始布置数据库
然后打开数据库,用默认的账号进行登陆就可以了
然后点击数据库,点击附加。
然后点击添加
添加对应网站站点目录下的数据库
点击确定以后,回到主界面,就会在主界面看到了。
然后点击安全性中的登录名 进行新建一个登陆账号
其余不需要更改,点击确定就可以了。
然后再次刷新网站页面,就可以。
打开aspx页面的时候出现一行红色的server application unavailable错误,这个时候选定网站右击权限,给他everyone所有权限
解决办法
创建了一个everyone 给了所有权限就可以了。
这就部署完成了。
如果说,密码错误或者是账号错误,就会显示登陆失败。
win+apache/nginx+php+mysql环境搭建
开始安装
关于php的环境有很多成熟的安装包,直接下载安装就可了。
这里选择phpstudy,该安装包包含了中间件Apache,PHP脚本语言版本选择,mysql数据库配置等全方位服务!同时免费,在网站直接搜索下载安装包转移至虚拟机进行安装就好
安装完成以后,就会出现这个,点击是就可以了。
点击是以后就会出现这个界面
其实这样就搭建好了
phpstudy设置排错:
如果现实80端口被占用,那么我们换一个端口就好了
改完以后变绿了。就成功了。
web网站布置
下载免费的开源php web网站源代码,复制粘贴到www站点目录下就可以了。这里我们安装三个sql注入测试网站,如图所示
然后在浏览器进行访问 具体咋访问 看图就看出来了。
插一个小问题(使用数据库的用户以及密码必须和使用网站的用户和密码要一致才行)
其他两个网站访问方式一样
php网站浏览特殊情况排错
测试环境就是:非服务模式
生产环境就是:系统服务
配置完成以后,在浏览器输入IP地址+端口+首页文件进行访问
这就对了,也许还会出现一种情况,就是在ie可以打开,但是在其他浏览器打不开。这种情况是由于
ip地址冲突或者端口被占用。
图中这种情况就是我说的这种)
那么我们重新更改端口就可以了
发现错误 ,根据错误提示是:没有找到config配置文件。然后复制config/下的config.inc.php.dist移动到config/下变成config.inc.php就可以了。(就是重命名的意思)
根据提示操作就可以啦!
完成后,刷新一下。
disable这个错误直接配置PHP扩展及设置就好啦。很多错误都跟php版本或者扩展设置有关!例如php的魔术配置会消除我们sql注入时输入的单引号,需要去掉
然后图中红色的地方就可以忽略了。直接点击创建就行。
在创建之前要注意这个网站的用户和密码和数据库的用户和密码一样不
数据库的用户和密码都是root 所以也要设置成root。
然后点击创建 ,提示成功了。
用户名是 admin 密码是password
Forbidden错误
按照第二个布置方法布置第三个网站,在浏览器访问,就会出现这个页面。
这个是没有在找到文件的问题 ,然后在进入一层目录,进行寻找首页文件。
结果发现 还是有错误。
这里报错的原因是密码错误。
密码错误还是因为和数据库的密码不一样导致的,所以密码也要改成root。
然后访问这个网址,就代表成功了。
然后输入账号和密码就可以了。
账号是:bee
密码是:bug
登录上就是这个界面了。
数据库没有导入进来。
在php里面 将网站代码和数据库给你了,你需要将这些导入到数据库中。
开启PHPstudy
然后在浏览器进行访问
这种情况就是数据库没有导入进来。
先看这个文件的账号和密码和数据库的账号和密码是不是一一对应的。还有地址
箭头所示的地方要对应起来。然后就可以开始导数据库了
进入到数据库的页面。
输入这个命令 :进行回车
#mysqldump -h127.0.0.1 -P3306 -uroot -proot sql>c:\sql1.sql
会发现错误,因为表就没有创建,所以不会导入进去。
所有我们开始创建这个数据库
创建数据库
但是发现无法创建这个sql数据库,所以只好创建一个其他的数据库。例如:创建一个abc,同时将上边所有sql替换为abc进行进一步验证。
如果还是没有导入进去:设置字符编码!重新导入
如果还是没有导入进去:php的魔术符号关闭试试?
导入进来以后,进行检查一下。
发现成功了。(如果还不成功,可以查看phpstudyPHP版本,改到最低)
就有数据了。再次网站就可以了。如果不可以,就需要切换php版本了,变低就可以了。
安装这个框架之前先把php这个给退出了。
然后把安装包移动到测试环境下的桌面上。
解压以后开始安装。
还是安装到c盘,(可以自己定义要安装的目录,但是这里就只有一个盘,所以就默认是c盘了)
和php那个大同小异。
安装完成就是这个样子了 。
apache因为这个端口被占用了,我们可以给他更改一个端口。
但是这里主要使用tomcat 所以我们就不 改了,测试环境下,tomcat和Apache二选一即可。
我们可以看到jspstudy的一些设置。
然后把struts2框架的代码放到jspstudy下的tomcat下的webapps 里面(这个目录的作用和phpstudy的www目录作用类似),他会自动解析
在struts1中默认的扩展名是do而在在struts2中的扩展名是.action。显然这样的扩展名看起来不是很符合用户习惯所以需要更改。
在struts2中可以在struts.xml中配置一个常量关于<contant name="struts.action.extention" value="shtml"/>
这样的话在form表单中action就要改为action=“xxx.shtml”了。
也可以 <s:form action=“xxx” ></s:form>
jboss环境搭建
jboss是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
开始安装
还是先把安装包放到测试环境中的虚拟机桌面上
![](https://img2020.cnblogs.com/blog/2162655/202010/2162655-20201024172554051-1750501393.png)
一个jboos和一个jdk
装jboos之前 先把jdk进行安装。
直接双击就可以进行安装了
![](https://img2020.cnblogs.com/blog/2162655/202010/2162655-20201024172636823-613844828.png)
直接就下一步就可以了。(不是所有的jdk版本都可以,一定要和当前系统匹配上才可以)
然后开始配置环境变量。
点击我的电脑 高级 里面有个环境变量
新建系统变量,变量名为:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.6.0_45\
变量值就是刚才安装jdk的安装路径,设置变量值的时候,一定要先访问一下看是不是在设置。变量值对准jdk服务就好,安装目录纯英文!如下图:
(这两路径一样)
![](https://img2020.cnblogs.com/blog/2162655/202010/2162655-20201024173017607-461914909.png)
变量名:Path 变量值: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
注意下面这个path: 的变量值原来就有,只需要在后面添加上就可以了。不过添加之前,一定要写个分号(还必须是英文状态下的分号才可以)
变量3.变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
三个变量配置完成jdk就OK了!
下载jboss并配置运行环境变量
新建系统变量,变量名为:JBOSS_HOME 变量值:c:\jboss
这里的注意:变量值是代表的路径,jboos的文件必须在这个路径下,如果不存在话,后面配置都会出错。
变量名为:SystemRoot 变量值:C:\Windows
新建用户变量,变量名为:Path 变量值:%SystemRoot%/system32;%SystemRoot%;%JBOSS_HOME%\bin
然后点击确定,进行退出就可以了。
然后在命令行输入 Java 看能不能运行,如果可以运行就
这就代表可以运行
接下来修改端口 因为tomcat的端口也是8080 会冲突 所以要改。
进入 jboss-6.1.0.Final\server\default\deploy\jbossweb.sar 编辑 server.xml
搜索 “8080″和${jboss.bind.address}改为8090及ip为:0.0.0.0
改好以后 运行C:\jboss\bin\run.bat
运行完不要关闭,然后在浏览器进行访问
这就代表成功了
然后点第一个进行登陆
(账号和密码都是admin)
开始部署
选择对应的文件就可以了
部署好以后在浏览器进行测试
(密码是xxxxxx)
jboss排错:
win+weblogic+jsp+mysql环境搭建
Weblogic是需要许可证的企业和商业软件,具有用于大型工业应用程序的多种功能,可简化开发人员的生活,而Tomcat是轻量级的免费开源软件,适用于小型Web应用程序或公司在许可版本上投资的成本效益很高的地方。选择软件的选择取决于项目的要求和规模以及所需的功能和客户的要求,并且在设计应用程序体系结构时,可以采用相同的方法来选择任何应用程序服务器或Web服务器。
更多信息:https://www.idcspy.com/17478.html
开始安装
然后解压缩以后,双击install.cmd 进行安装
点击以后,来到这个页面
一路点击下一步以后,
出现这个界面
然后一路下一步,点击创建 完成就可以了。
一定要记得这个地址才可以。
(这个是布置完成才会出现的页面)
记得把这个启动管理服务器给勾选上。
完成以后,会出现一个窗口,这个窗口不需要关闭,关闭了,中间件就关闭了。
配置完以后,就会 自动启动了
就会出现这样的页面
(这个窗口不要关闭,关了这个中间件就找不到了)
然后在浏览器输入ip进行访问
出现这种情况就需要等待一下
这就出来了
这里输入你自己设置的密码就可以登陆了
然后开始网站站点。
(点击部署)
部署完成以后 通过浏览器进行访问就可以了
小结:
常用的脚本语言,数据库,web服务器排名
https://blog.csdn.net/winnie_man_wei/article/details/106940220
常用的web前段脚本语言:
asp aspx PHP jsp
常用数据库:
access是数据库与asp站点结合,无需安装。数据库扩展名是mdb,适合小型网站
mssql和access一样也是微软的产品。但是是做大型网站使用的桌面数据库服务器 ,需要单独下载安装。最高权限为SA,sql server指的就是他(招商银行就是)
mysql 数据库中最高权限用户是root,是目前最火的数据库之一,适用于多种系统,例如win和linux。
常用的web服务器中间件:
iis apache tomcat weblogic Nginx jboss
参考:https://blog.csdn.net/weixin_38234890/article/details/80268681
默认端口:Nginx(80) 、apache(80) 、jboss(8080)、tomcat(8080)、weblogic(7001)iis(80)
默认口令:weblogic(weblogic)、Tomcat(tomcat)
使用:现在主流的web服务为apache和Nginx。一般企业都是Apache(擅长支持动态和PHP脚本语言)和nginx(擅长静态和jsp脚本语言)搭配使用
如何通过web服务信息判断服务端是什么系统:
asp和aspx只运行在iisweb服务上,iis服务又是window自带的服务。所以:看见对方的网站是asp或aspx,那么对方服务器一定是Windows(IIS一般与ASP、ASPX结合,当然也可以运行php)
window不区分大小写,Linux区分大小写。所以改变url中的字母大小写,从是否能继续访问同样可以判断对方系统
当然,我们也可以通过扫描工具扫描,搜查对方系统信息。例如:天境,nessus,rsas,nmap等等
还可以网络搜索敏感信息
...