03-基础入门-搭建安全拓展
基础入门-搭建安全拓展
- 1、涉及的知识点
- 2、常见的问题
- 3、web权限的设置
- 4、演示案例-环境搭建
- (1)PHPinfo
- (2)wordpress
- (3)win7虚拟机上使用iis搭建网站
- (4)Windows Server 2003配置WEB站点
- (5)域名与ip地址测试:域名 IP 目录解析安全问题
- (6)常见文件后缀解析对应安全
- 5、常见安全测试中的安全防护
- 6、涉及资源
- 6、涉及资源
1、涉及的知识点
- 常见搭建平台脚本启用
- 域名旧目录解析安全问题
- 常见文件后缀解析对应安全
- 常见安全测试中的安全防护
- WEB后门与用户及文件权限
2、常见的问题
#ASP,PHP,ASPx,JSP,PY,JAVAWEB等环境#WEB源码中敏感文件
后台路径,数据库配置文件,备份文件等#ip或域名解析wEB源码目录对应下的存在的安全问题
域名访问,IP访问(结合类似备份文件目录)#脚本后缀对应解析(其他格式可相同-上传安全)
#存在下载或为解析问题#常见防护中的IP验证,域名验证等#后门是否给予执行权限#后门是否给予操作目录或文件权限#后门是否给予其他用户权限#总结下关于可能会存在的安全或防护问题?
3、web权限的设置
在一般的情况下我们会对某个目录取消执行权限、最典型的就是图片目录这个目录只放图像没有脚本我们会取消执行的权限、这样我们可以防范一部分的文件上传漏洞、即使开发写的代码有问题也不会导致服务器出现安全事故。#绕过方法:如果我们上传的文件如果不能正常的执行那么将文件放在其他目录、例如网站的根目录下面
4、演示案例-环境搭建
(1)PHPinfo
- 基于中间件的简要识别
一般可以通过抓包的方式分析出是什么类型的服务器和中间件
可以看见在自己搭建的平台看见使用的apache(windows) php5.4.45
- 基于中间件的安全漏洞
可以根据在第一步上面收集到的信息、去找Apache的漏洞和PHP的漏洞
- 基于中间件的靶场使用
https://vulhub.org/#/environments/
这个是用docker搭建的一个靶场非常的方便
环境搭建并测试,参考文档:https://vulhub.org/#/docs/install-docker-one-click/
第一步安装好docker环境并下载文件
[root@hdss7-11 ~]# docker -v
Docker version 20.10.6, build 370c289
[root@hdss7-11 ~]# docker-compose -v
docker-compose version 1.18.0, build 8dd22a9
[root@hdss7-11 ~]# cd /opt/vulhub/
[root@hdss7-11 vulhub]# wget https://github.com/vulhub/vulhub/archive/master.zip
第二步https://vulhub.org/#/environments/查找你想做的环境
[root@hdss7-11 vulhub]# cd vulhub-master/httpd/apache_parsing_vulnerability/
[root@hdss7-11 apache_parsing_vulnerability]# docker-compose up -d
创建文件并命名为x.php.jpeg
并上传
[root@hdss7-11 ~]# cat x.php.jpeg
<?phpphpinfo();
?>
(2)wordpress
[root@hdss7-11 vulhub-master]# find . -name wordpress
./base/wordpress
./wordpress
[root@hdss7-11 vulhub-master]# cd wordpress/
[root@hdss7-11 wordpress]# cd pwnscriptum/
1.png docker-compose.yml exploit.py README.md README.zh-cn.md
[root@hdss7-11 pwnscriptum]# docker-compose up -d
(3)win7虚拟机上使用iis搭建网站
1.下载asp源码,数据库类型最好是MYSQL的。
2.解压后将解压文件放在C:\inetpub\wwwroot 路径下。
3.将文件名重命名(比较方便)。
4.打开iis服务器。
5.右键点击 网站 ,再点击 添加网站 。
6.选择物理路径,80端口和81端口已经使用了,选择其他端口。
7.选择应用程序池,右键点击刚才创建的程序池,再点击高级设置。
8.将 启用32位应用程序的 False 改为 Ture。
9.点击要创建的网站,在右边选择 asp。
10.将 启用父路径 改为 Ture
11.右键网站 --> 管理网站 --> 浏览,便可以打开网站。
12.为网站分配域名。
13.直接访问是访问不到的。
14.修改本地host文件(由于没有购买域名)—C:\Windows\System32\drivers\etc\host
15.便可以使用域名访问到
(4)Windows Server 2003配置WEB站点
-
下载好源码后,进行解压。
-
打开iis服务器。
-
右键 “网站”,然后点击“新建”->“网站”。
-
输入网站描述。
-
网站IP地址是当前主机IP地址,端口号为没有被占用的端口(随便一个都可以)。
-
选择刚才解压好的源码文件。
-
设置允许的权限。(看自己的需求)
-
点击“Web服务扩展”设置扩展权限。
-
右键刚才设置的网站,选择“属性”。
-
“主目录”->“配置”->“调试”。
-
“主目录”->“配置”->“选项”。
-
点击“文档”,由于该源码网站的默认首页是“index.asp”,而“启用默认内容文档”里没有该目录,需要手动添加。
-
添加成功后,将添加的内容上移到第一位。
-
访问网站。
(5)域名与ip地址测试:域名 IP 目录解析安全问题
- 网站的目录结构—由于是网上找的源码,直接解压到当前文件夹 。
- 在wwwroot目录和baoming目录下分别存放一个1.txt文件。
在wwwroot目录下的1.txt文件的内容为 111
在baoming目录下的1.txt文件的内容为 222
- 分别使用域名和ip地址进行访问1.txt文件。
-
直接用ip访问-–为网站(假设为baoming.com这个网站)的上一级目录—此处可以在网站文件新建1.txt,内容为111,然后通过浏览器:ip地址/1.txt访问验证 。
-
直接用域名访问-–为网站首页(感觉不是真实的网站实现不了)
#原理分析:
用ip地址扫描为网站的上一级文件夹用域名为网站而很多套模板的网站在上一级有源码备份因此,可以通过ip地址获取源码来进行漏洞挖掘
(6)常见文件后缀解析对应安全
- 更改应用程序映射
#复制*.asp的文件物理路径
#新建 .xiaodi8的应用程序,物理路径为 .asp的文件物理路径
- 在网站源码新建文件
#新建x.diaodi8的文件,内容为菜刀的asp文件的漏洞,密码为x
<%eval request("x")%>
- 用菜刀连接
#本机访问utl/x.xiaodi8(这一步我没有成功,浏览器404.0,文件不存在,下面就没有办法操作了)
#复制URL
#放入菜刀中连接—可以查看服务器的文件
将 .xiaodi8 的后缀名 解析成 .asp 的后缀名的文件,可以使用菜刀连接这个 .xiaod8 为后缀名的文件,会把它当成 asp文件执行解析。===>解析漏洞
5、常见安全测试中的安全防护
-
身份验证。
前2者配置:web.config 后4者配置:localhost applicationHost.config <location path="">
这6项尽管列在一起。但在应用上却不是一个级别的;后4者属于IIS验证,当中匿名验证不须要提交usernamepassword,其它3个须要提供;Form身份验证属于ASP.NET验证,会通过web页面验证。要到达这个验证必须通过IIS验证(由于一个请求进入server后。先到IIS,然后才到Asp.Net应用程序)。即假设要用到Form验证,那么后4者必须启动一个。Asp.net默认执行的账号由进程模式的标识指定(在应用程序池中),例如以下图。但用户能够通过web.config中的identity来模拟其它账户( <identity impersonate="false" password="*****" userName="administrator" />),通过调用System.Security.Principal.WindowsIdentity.GetCurrent().Name可查看此账户
-
用户组的安全权限—读写等。
这里来宾用户的权限是在 身份验证 那里设置的匿名用户去访问网站的。
可以更改 匿名用户 的权限。
将匿名用户的权限设置运行“读取和执行”权限,IIS 可以对该权限设置 读取、脚本和可执行文件的执行权限 。
选中“读取”可启用需要对虚拟目录具有读取访问权限的处理程序,清除“读取”可禁用需要对虚拟目录具有读取访问权限的处理程序。选中“脚本”可启用需要对虚拟目录具有脚本权限的处理程序,清除“脚本”可禁用需要对虚拟目录具有脚本权限的处理程序。选中“执行”可启用需要对虚拟目录具有执行权限的处理程序,清除“执行”可禁用需要对虚拟目录具有执行权限的处理程序。 只有当“脚本”处于选中状态时,“执行”选项才启用。
#当将功能权限选择为”读取“和”脚本“时,网站访问 x.asp 这个文件。
#当将功能权限选择为只有”读取“时,网站无法访问 x.asp 这个文件。
–>一般不会对根目录的”读取和执行“权限进行设置,因为网站的运行需要一些脚本文件的运行,而是对一些特殊目录的”读取和执行“权限进行设置。
- Ip地址和域名的访问限制。
- ssl的连接的证书的设置。
6、涉及资源
Web中间件常见漏洞总结_bylfsj的博客-CSDN博客_web中间件
Web中间件 - 常见漏洞总结 - 混子··· - 博客园 (cnblogs.com)
https://www.vulhub.org
ora-picture\image-20230111151005953.png" alt=“image-20230111151005953” style=“zoom:80%;” />
- ssl的连接的证书的设置
6、涉及资源
Web中间件常见漏洞总结_bylfsj的博客-CSDN博客_web中间件
Web中间件 - 常见漏洞总结 - 混子··· - 博客园 (cnblogs.com)
https://www.vulhub.org
相关文章:

03-基础入门-搭建安全拓展
基础入门-搭建安全拓展 1、涉及的知识点2、常见的问题3、web权限的设置4、演示案例-环境搭建(1)PHPinfo(2)wordpress(3)win7虚拟机上使用iis搭建网站(4)Windows Server 2003配置WEB站…...

穿越未来:探索虚拟现实科技的未来前景
虚拟现实(Virtual Reality,简称VR)科技,正如一颗崭新的明星,迅猛崛起,为人类带来前所未有的体验和想象空间。随着科技的飞速发展,VR 科技的未来充满了无限的可能性,正将我们引向一个…...

SQL- 每日一题【1327. 列出指定时间段内所有的下单产品】
题目 表: Products 表: Orders 写一个解决方案,要求获取在 2020 年 2 月份下单的数量不少于 100 的产品的名字和数目。 返回结果表单的 顺序无要求 。 查询结果的格式如下。 示例 1: 解题思路 1.题目要求我们获取在 2020 年 2 月份下单的数量不少于 100 的产品的…...

[xgb] plot tree
xgboost plot tree debug problem1solutionsreference problem2solutionreference problem3solutionreference supplementary explanationplot_tree参数介绍num_treesmodel.get_booster().best_iteration图中信息介绍缺失值叶子的值 训练的XGB模型里有多少棵树 problem1 用xgb…...

【云原生】Kubernetes 概述
Kubernetes 概述 1.Kubernetes 简介 Kubernetes 是一个可移植的、可扩展的、用于管理容器化工作负载和服务的开源平台,它简化(促进)了声明式配置和自动化。它有一个庞大的、快速增长的生态系统。Kubernetes 的服务、支持和工具随处可见。 K…...

9.2.2Socket(TCP)
一.过程: 1.建立连接(不是握手),虽然内核中的连接有很多,但是在应用程序中,要一个一个处理. 2. 获取任务:使用ServerSocket.accept()方法,作用是把内核中的连接获取到应用程序中,这个过程类似于生产者消费者模型. 3. 使用缓冲的时候,注意全缓冲和行缓冲. 4.注意关闭文件资源…...

“解锁IDEA的潜力:高级Java Maven项目配置指南”
目录 前言:流程目录:1.确保Java和Maven已安装检查Java是否已正确安装并配置环境变量 2.创建一个新的Maven项目导航到要创建项目的目录配置Maven运行以下命令创建一个新的Maven项目 3.配置项目的pom.xml文件打开项目根目录下的pom.xml文件配置Web.xml 4.配…...

[足式机器人]Part5 机械设计 Ch00/01 绪论+机器结构组成与连接 ——【课程笔记】
本文仅供学习使用 本文参考: 《机械设计》 王德伦 马雅丽课件与日常作业可登录网址 http://edu.bell-lab.com/manage/#/login,选择观摩登录,查看2023机械设计2。 机械设计-Ch00Ch01——绪论机器结构组成与连接 Ch00-绪论0.1 何为机械设计——…...
机器学习:隐马尔可夫模型(HMM)
后续会回来补充代码 1 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是可用于标注问题的统计学模型,描述由隐藏的马尔可夫链随机生成观测序列的过程。 1.1 数学定义 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成…...

使用插件实现pdf,word预览功能
效果 代码: 插件地址: https://github.com/501351981/vue-office <a-modalv-model:visible"visible":title"title"ok"handleOk":bodyStyle"bodyStyle":width"1200":maskClosable"false"…...
yolov5模型构建源码详细解读(yaml、parse_model等内容)
文章目录 前言一、yolov5文件说明二、yolov5调用模型构建位置三、模型yaml文件解析1、 yaml的backbone解读Conv模块参数解读C3模块参数解读 2、yaml的head解读Concat模块参数解读Detect模块参数解读 四、模型构建整体解读五、构建模型parse_model源码解读 前言 本文章记录yolo…...
Monodepth2和Lite-Mono准备数据集
以KITTI为例下载解压后放在/home/lwd/tmp/2011_09_26 cd /home/lwd/tmp/2011_09_26 ls输出 2011_09_26_drive_0001_sync 2011_09_26_drive_0002_sync 2011_09_26_drive_0005_sync python txt.py txt.py import os, sysalos.listdir(.) al.sort() fopen(train.txt, w) for a in…...

ML-fairness-gym入门教学
1、ML-fairness-gym简介 ML-fairness-gym是一个探索机器学习系统长期影响的工具。可以用于评估机器学习系统的公平性和评估静态数据集上针对各种输入的误差度量的差异。开源网站:GitHub - google/ml-fairness-gym 2、安装ML-fairness-gym(Windows&…...

结构体指针变量的使用
1、结构体指针的引用 #include<iostream> using namespace std;struct Student {int num;char name[32]; }; int main() {struct Student stu {1,"张三"};struct Student* p &stu;system("pause"); return 0; } 2、通过结构体指针访问结构体…...
解决oracle的em访问提示“使用不受支持的协议。”的bug
1. 设置oracle唯一名称 执行emctl时需要设置一个唯一的名称 否则提示 “Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name. ”中文意思为“未定义环境变量ORACLE_UNQNAME。 请将ORACLE_UNQNAME设置为数据库唯一名称/服务…...

编译工具:CMake(三)| 最简单的实例升级
编译工具:CMake(三)| 最简单的实例升级 前言过程语法解释ADD_SUBDIRECTORY 指令 如何安装目标文件的安装普通文件的安装:非目标文件的可执行程序安装(比如脚本之类)目录的安装 修改 Helloworld 支持安装测试 前言 本篇博客的任务…...
20天学会rust(四)常见系统库的使用
前面已经学习了rust的基础知识,今天我们来学习rust强大的系统库,从此coding事半功倍。 集合 数组&可变长数组 在 Rust 中,有两种主要的数组类型:固定长度数组(Fixed-size Arrays)和可变长度数组&…...

drawio----输出pdf为图片大小无空白(图片插入论文)
自己在写论文插入图片时为了让论文图片放大不模糊,啥方法都试了,最后摸索出来这个。 自己手动画图的时候导出pdf总会出现自己的图片很小,pdf的白边很大如下如所示,插入论文的时候后虽然放大不会模糊,但是白边很大会显…...

2021年09月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
第1题:字符统计 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。 输入 输入包含一行,一个字符串,长度不超过1000。 输出 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以…...

HCIP VRRP技术
一、VRRP概述 VRRP(Virtual Router Pedundancy Protocol)虚拟路由器冗余协议,既能够实现网关的备份,又能够解决多个网关之间互相冲突的问题,从而提高网络可靠性。 局域网中的用户的终端通常采用配置一个默认网关的形…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...