freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Web应用&架构搭建&站库分离&路由访问&配置受限&DNS解析
2025-01-04 02:03:50
所属地 广东省

前言

自己本身是一个学习两年网络安全的小白师傅,想想两年来都没有系统的学习过,所以就想着看看小迪的课程,顺便将自己的理解与小迪的课程做一个结合,以文字+图片的形式呈现给大家。看了小迪的课程,真觉得小迪的课程是yyds!-- 我看的是2024年的视频

学习内容

【基础入门】第1天-Web应用&架构搭建&站库分离&路由访问&配置受限&DNS解析

学习地址:【小迪安全】全栈网络安全 | 渗透测试 | 高级红蓝对抗 V2024最新版 (完)_哔哩哔哩_bilibili

正式开始

知识点一:快速的搭建一个简单、便宜的云服务器

首先要搭建一个阿里云的服务器--小迪没讲这里我自己给大家举例

一些我没提到的事情,说明它并不是很重要,可以放心的跳过,当然自己有时间也可以自己详细研究一下

通过视频可以看到,小迪用的是Windows Sever2012 R2的镜像,那么我们也使用这个即可



然后下单即可!这里再说一下如何释放一个实例,就是你不用了以后如何取消掉这个服务器,让它不再会扣费。

这样就是完成了释放了。

如何使用服务器呢?


但窗口和小迪的并不一样,这是为什么?这是因为小迪用了windows自带的远程桌面连接。

将自己的ip地址用户名和密码输入,就可以在大屏操作了,比阿里云自带的操作窗口好很多

知识点二:子域名是什么?

我们刚刚给网站绑定了一个子域名www.xiaosedi123.fun(这里的图片就用小迪视频的了)

我们将这个网站绑定了www.xiaosedi123.fun这个域名,那么当我们访问这个域名的时候就是访问我们的网站。

这里可以看到,我将这两个xiaodi.xiaosedi123.fun也绑定了这个ip,那么我可以通过访问这个域名,从而访问网站吗?


很明显是不行的。因为我们没有把网站绑定到这个页面上,所以访问出来的其实是IIS的欢迎页面。

那么我们接下来进行绑定。


这样就可以成功了。访问xiaodi.xiaosedi123.fun也能成功访问到网站了。

子域名是可以有多个的

总结

子域名信息收集是我们渗透测试中非常重要的一环。(补充一下xiaosedi.fun是它的主域名,111.是它的子域名,我们的收集是在主域名不变,子域名变才叫子域名收集。)

往后我们不管是打那个资产,我们都可以进行子域名的收集111.xiaosedi.fun222.xiaosedi.fun。因为这些子域名当中可能就有防御薄弱的网站!当我们主域名站点攻击不顺利的话,我们的攻击面便可加上子域名,亦或者直接寻找薄弱的站点进行攻击,这会大大的增加我们的攻击成功率以及成果。


知识点三:端口是什么?

我相信大家平时应该都见过www.baidu.com:88 www.baidu.com:8080 这样的格式,那么冒号后面的是什么意思呢?答案是端口!

那么端口对于我们渗透测试有什么作用呢?很简单,还是扩大攻击面!

解释一下:上面部分我们将xiaodi.xiaosedi.fun绑定的端口为80,这个端口是大家平时访问url默认访问的端口,比如我们输入www.baidu.com的时候,其实是www.baidu.com:80。这里我们不再把网站设置在80端口了,而是设置在88端口xiaodi.xiaosedi.fun:88。那么结果就是,我们只有访问xiaodi.xiaosedi.fun:88才能正常的访问到网页,而xiaodi.xiaosedi.fun无法访问会返回404(意思是没有找到该网页)。


总结:

那么端口的作用其实和子域名是一样的,都是为了我们扩大攻击面而准备的,当我们做信息收集的时候,可以收集特定的端口,因为关于端口的开放其实有一些约定俗成的规矩,或者是默认端口开放,具体的需要到后面再讲!端口的总数是65535,这也就是为什么信息收集工具常常要扫描www.baidu.com:1到www.baidu.com:65535数量的原因了。


知识点四:什么是目录?

www.xiaosedi123.fun/blog/zb_install/中

/blog/zb_install/就是目录

/blog/就是目录

目录下可能对应的是不同的程序:比如后台登录、比如注册。就和我们平时写代码一样,将不同功能的代码存放在不同的目录下。

比如:www.xiaosedi123.fun/admin/,这个目录可能就是管理员登录,因为admin是管理员的意思


这就是为什么我们信息收集也强调:目录收集的原因。

这里再补充一下什么叫接口,因为刚入行的师傅可能不太明白,当时我也不太明白和目录的区别在哪。

其实接口是一个方法的调用,也可以理解为一个程序。你调用了A接口,A接口写的代码是回显用户信息。

那么你调用了以后,你就能看到用户的账号、密码、手机号等。

那么一个接口它是怎样的呢,以上面的例子为例。我创建了一个Animal的接口,位于包com.example.animals中。

诶呀,其实就是位于com/example/animals/Animal.java代码中

我们想在网页上调用它也很简单,在url中输入www.baidu.com/com/example/animals/Animal.java即可调用。

总结:接口其实java中的方法,输入正确的目录,即可调用。我们渗透测试的时候,去通过爆破、枚举、扫描等手段,来收集接口,然后再测试这些接口是否不需要身份验证,如果不需要,还需要确定该接口原本应该是由什么用户来调动的。例如:管理员、老师这类高权限用户,你使用了学生、普通用户这等低权限漏洞那么就是未授权漏洞。


知识点五:网站目录权限设置

首先我在网站这里留下了一个后门。1.asp,这是木马文件

使用哥斯拉,连接这个后门


现在是成功连接的,那么我在电脑上(服务器上)将这个文件夹的权限全部拒绝呢?如图所示,我将木马所存在的文件夹的权限进行修改,禁止了执行、读、写权限。

那么我们再次尝试连接,提示:连接失败。我们访问一下该目录,提示:没有权限。

总结:当我们对网站的目录人为的设置具体权限的时候,可以禁止某个目录的读权限,那么用户就无法对该目录下的任何文件进行访问,自然而然就不能对其进行渗透。但网站会采取这样的手段吗?会,但不全会,因为当他选择将权限设置为不可访问的时候,那么正常用户也将无法访问,那么网站也没有了意义。所以渗透测试时,我们上传木马文件的目录很重要。如果该目录没有执行权限,那么即使成功上传了木马,也无法运行该木马,从而无法获取权限。


知识点六:网站身份验证

可以看到,我们对网站的设置,还能具体到哪部分文件夹(目录)需要进行某某身份验证

这里就用windows验证来举个例子:

开启前

开启后:

便需要你使用,目标服务器的账号密码来进行登录(其实就是你本机的开机账号密码)

这就是我们常说的身份验证。

总结:当我们渗透过程中,发现访问网站居然需要账号密码。就不比吃惊,这就是开发者对网站做了身份验证的配置。那么我们是否有办法绕过这类身份验证呢?有,但很难。大多数的时候,我们都只能通过社工、信息收集等方式,去猜测该密码,从而进行登录。


知识点七:什么是站库分离?

我们先看一段配置数据库的文件

现在的这段配置:

用的就是站点和数据库在同一台电脑上(同一台服务器上),这是不安全的

那么当我们使用下面的配置以后,数据库和站点其实就不在同一个服务器上。

配置的意思:

1.指定数据库文件的路径。

2.指定是否启用 Microsoft SQL Server 数据库。

3.用于指定 Microsoft SQL Server 的数据库名称。

4.用于指定连接 SQL Server 的用户名。

5.用于指定连接 SQL Server 的密码。

6.指定 SQL Server 的服务器地址

配置页面

可以看到,两个地址是不一样的,数据库的地址是8.218.72.88,那么说明这个站就是一个站库分离的站。

站库分离中,数据库有三种常见存在的形式:

1.云数据库

2.数据库服务器

3.对象存储OSS


那么假如数据库在云数据库。那么SQL注入GETShell的手法是不是就不复存在了?是的,因为你即使控制了,也毫无卵用。只能通过SQL注入获取一些数据,作为你横向渗透的资本。(其实用处也挺大。)

那么假如在对象存储OSS,更是逆天,这个应用只做存储,没有任何其他功能,简单来说,就是连文件上传的机会都没有,即使你上传了一个shell.php木马文件,但你无法解析,自然就无法连接你的哥斯拉。

那么假如是数据库服务器,数据库服务器有一个权限设置,只要我们设置了只允许哪个ip地址或者哪个主机进行连接,那么你即使知道人家的数据库地址、账号密码也是无法连接的。

总结:当开发者的对站点使用站库分离时候,站点的安全性会大大的增加,我们将木马传入数据库中表的渗透测试方式就会大大提高难度,因为即使我们成功连接上了服务器,也只是数据库的服务器,难以对网站的服务器造成影响。


知识点八:常见的源码种类

开源:开源的源码表示我们能看到的,也能免费使用的

商业:商用的源码

自写:自己写的,一般用于大公司,保密级别最高,也是最安全的。


开源也分可看,与不可看

比如如果开源的源码,分享者做了加密,这个加密并不会影响代码的使用,但会使你无法读取具体的代码

又或者例如java的代码,java的网站.class代码你直接查看是乱码的

总结:源码的种类大致就是这几种,当我们想要进行白盒测试的时候,只有去寻找开源的代码亦或者网站本身有源码泄露的风险。否者难以进行白盒测试。

知识点九:路由访问是什么?

路由访问大概的意思:

简单来说,我们正常访问一个东西,只需要域名/路径即可,例如:

那么路由访问,即是:

总结:路由访问,其实就是一种配置,只有特定的ip地址才能访问某个网站目录下的内容。


知识点十:什么是文件解析

在我们的网站中,我们可以通过这里,设置每个文件的执行方式。

为什么有时候我们上传文件,有些是打开,有些是下载。

最常见的就是,图片是打开,phpaspjsp都是下载。那时候心态都崩了,那就是这里设置的,这里的策略设置能设置每种文件类型以什么方式进行运行。

总结:只有当网站正确的执行我们上传的木马文件,我们才可以获取权限。


知识点十一:常见的站点分类

1.云站点--基于阿里云、华为云等产品

2.docker--基于镜像拉取的站点

3.分站点--就是在A站点中,搭建A2站点,这里要说明一下,虽然A2站点在A站点下,但当你要攻击A2的时候其实面对的是A站点。

4.集成软件--基于小皮面板、宝塔搭建的站点

总结:在这些搭建中,分站点与云站点是相对安全的,因为这类网站由第三方负责,安全程度相对有保障。


# 漏洞 # 渗透测试 # 网络安全 # web安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录