基础入门-Web应用&架构搭建&域名源码&站库分离&MVC模型&解析受限&对应路径

网站的组成

1.主站

1.宝塔面板的网站搭建(宝塔、phpStudy)

2.中间件套件的安装(nginx、Apache。。)

3.域名解析服务器IP(DNS解析)

2.分站(主要做网站扫描来找出分站拿出信息)

1.收集更多的分站 对分站的攻击有概率影响到主站

2.分站可能也解析到主站的IP

3.通过子域名收集

3.端口站

1.http默认解析到80端口

2.https默认解析到443端口

3.不同端口可能指向的是不同网站

4.通过端口扫描发现

5.端口扫描可能发现更多网站

4.目录站

1.在不同的目录可能存在不同的网站

2.通过目录扫描发现

5.子站

源码架构

1.源码开发语言(后端语言-对渗透测试有影响)

1.ASP

2.JAVA

3.PHP

4.PYTHON

5.GO

一般前端语言(HTML)搭建的静态页面没有渗透点

2.源码目录的结构

1.对源码的功能理解 有助于代码审计 根据源码的目录名来提取关键点

1.后台目录

2.文件目录

3.逻辑目录

4.前端目录

5.数据目录

6.配置文件

3.语言的开发框架

1.java

2.php

3.python

4.javascript

4.源码的开源和闭源

1.开源的源码 可以在网络上下载 审计

1.可以进行代码审计

2.闭源 大公司内部的开发

1.尝试获得泄露的源码

2.通过其他渠道下载到了

3.加密源码 可以下载使用 但是源码加密

1.解密源码 才能进行审计

2.源码加密可以到达一下免杀

数据库差异

1.本地数据库

1.把数据库存储在网站的服务器上面称之为本地安装

2.拿到配置文件 大概率可以连接到数据库

2.分离数据库

1.源码和数据库不在同一个服务器上面

2.拿到配置文件 不一定能连接上 因为大概率做了相关策略 无法连接

3.云数据库

1.在云产品数据库中 搭建数据库服务

2.只有数据库 没有服务器

3.云数据库白名单 只确保白名单的数据库可以连接

4.数据库核心思想

1.外联 外部连接数据库

2.面对不同的数据库存储差异 采取不同的方式思想对待

5.面对云数据库的攻击方式

1.拿下目标服务器 通过上传数据库连接脚本 去连接数据库

2.利用网站权限上传代理流量工具 做数据库中转的操作 去连接数据库

平台差异

1.系统

1.面对不同的系统 要使用不同的命令和目录

2.不同系统的提权方式

2.容器

1.目标服务器可能就是一个虚拟机

2.面对容器 需要进行一个容器逃逸(docker、vm)

3.vm虚拟机在虚拟环境下也和docker逃逸类似方法

3.中间件

1.面对不同的中间件可能存在不同的漏洞

2.通过不同的中间件了解到他的语言

解析差异

1.相对路径

1.../../../ 就是向上退级(../就是回到上级目录)

2.通过相对路径前往某个目录

3.相对路径不一定可以访问成功

4.相对路径就是在这个目录下去进行上级或者下级的移动

2.绝对路径

1.通过绝对路径去对应的目录(指名准确的文件位置)

3.格式权限

1.面对不同的代码语言解析 我们需要服务器有对应的语言解析环境才可以解析

2.在对应格式的文件 写对应的代码

3.脚本执行权限 上传的脚本文件的目录 是否存在执行权限

1.解决方式:是否可以上传到其他目录

网站的url路由关系

1.正常url访问模式

1.就是通过服务器源码目录访问

2.MVC模型 框架

1.用代码路由来进行访问

3.代码审计时

1.mvc和非mvc模型的源码

2.mvc的路由是框架代码决定的

3.常规的网站分析功能点就对应找目录

4.通过源码目录去访问错误时

1.考虑是mvc模型

📌

1、有哪几种Web域名上差异

web域名主要分为:主站、分站、子站、端口站、目录站

主站、分站、子站:一般主站防御较强,可以从分站入手来影响主站,子站为分站内

端口站:对不同端口进行网页布置,同一个url可能端口不一样进入的页面不同

目录站:在一个页面中有多层次页面形式来切换和跳转页面

事例

主站:www.cjw.com

分站:chen.cjw.com

子站:123.chen.cjw.com,123.cjw.com

端口站:www.cjw.com:80

目录站:www.cjw.com/aa/bb

2、有哪几种源码语言框架差异

结构、语言、框架、闭源、加密

源码目录结构:后台目录、文件目录、逻辑目录、前端目录、数据目录、配置文件

源码开发语言类型:ASP、ASPX、PHP、Java、Python、Go、Javascript

语言开发框架组件:

PHP:Thinkphp、Laravel、YII、Codelgniter、CakePHP、Zend等

JAVA:Spring、MyBatis、Hibernate、Struts2、Springboot

Python:Django、FlaskBottle、Turbobars、Tornado、Web2py

Javascript:vue.js 、node.js 、Bootstrap 、JQuery 、Angular

开源闭源加密类型:
开源:Zblog

闭源:内部开发代码

加密:通达OA(加密可以拿到源代码,但是拿到的源代码是通过算法加密的,需要解密才能看到源代码)

3、网站数据存储有那几个方式

本地数据库、分离数据库、云端数据库

数据库类型:Access、MySQL、SQL server、Oracle、Redis、DB2、Postgresql、MongoDB

(数据库可分为:关系型数据库和非关系型数据库----关系型数据库可看作Excel表格,非关系型可看作Word)

本地数据库:在本地网页服务器上搭建的数据库

分离数据库:网页本地为一个服务器,数据库使用另外服务器,让网页来调用数据库服务器

云端数据库:在云上布置一个数据库供网页调用,RDS

4、URL访问对应正确和错误原因

解析差异:路由访问、绝对相对路径、格式权限

URL路由访问:使用URL链接来直接访问对应文件,MVC模型

绝对路径:某一个文件的准确位置,准确路径

相对路径:在一个文件位置下通过上下级跳转(一级一级跳不能一下到达目标位置)

格式权限:后门解析格式、代码正常执行、脚本执行权限

⭐对于安全测试思路

域名上架构了解后的思路意义

有时候主站防护严格渗透不进去,可以尝试从分站和子站入手来影响主站,端口站可以使用端口扫描发现更多站点,目录站在不同目录下可能有不同页面

源码上架构了解后的思路意义

开源和闭源还有加密,开源源码就可以进行代码审计,闭源是公司内部自己做的拿不到源码,加密源码可以拿到源码,但是加密,通过加密方式来解密拿到源码在进行代码审计

数据上架构了解后的思路意义

本地数据库拿到配置文件大概率可以连接

分离数据库拿到配置文件大概率不能连接

云数据库做了白名单,只有在白名单的ip才能访问

解析上架构了解后的思路意义

不同的语言解析不同,进行文件上传时要使用和网站搭建相同的语言才能被解析执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值