当前位置: 首页 > news >正文

网络安全day1-2笔记

安全简介及环境搭建

安全简介

  • 信息安全
    三要素
    1. 保密性
    2. 完整性
    3. 可用性

  • 网络安全
    渗透攻击和防御:技术手段——防火墙

  • web安全

    web:网站 www 互联网

    常见安全漏洞
    sql注入(数据库)、xss跨站脚本攻击、文件上传下载漏洞、弱口令、csrf攻击

虚拟环境的搭建

靶场

靶场的搭建

lnmp(linux、n:nginx) lamp 中间件 传统的方式vm

  • 小皮面板
    phpstudy
  • 宝塔面板
    快速的搭建服务
  • docker搭建
    一键部署

什么是中间件

nginx、apache、tomcat
负责让不同系统、不同服务之间能顺利通信和协作

nginx

可以进行静态文件的处理(html、css、js、图片)、不能直接返回php文件给前端
php——php-fpm

中间件:

web服务器中间件:

nginx、apache

应用服务器中间件:

php-fpm tomcat uWSGI

优点

  • 连接不同系统
  • 提供通用功能
  • 让开发更高效

ubantu基础配置

允许远程连接

sudo passwd root #设置root用户密码
su root #转至rootsudo apt update #更新软件包列表
sudo apt upgrade #升级所有已安装的软件包
sudo apt dist-upgrade #处理依赖关系升级#基本工具安装
sudo apt install -y \
curl wget git vim nano \
net-tools tree unzip zip#关闭防火墙ufw
systemctl stop ufw
systemctl disable ufw #禁用selinux
setenforce 0#下载sshopen服务
apt-get install openssh-server#查看ss服务状态
systemctl status ssh#查找配置文件
grep -r "PermitRootLogin" /etc/sshvim 配置文件路径
#修改配置文件如下

image-20250708110122953

#重启服务
systemctl restart ssh

搭建服务

lnmp

l指的是linux、n指的是nginx、p指的是php、m指的是mysql

  1. nginx(源码安装)
ubuntu安装nginx以及php的部署1.安装依赖包apt-get install gccapt-get install libpcre3 libpcre3-devapt-get install zlib1g zlib1g-devsudo apt-get install openssl sudo apt-get install libssl-dev2.安装nginxtar -xvf nginx-1.21.6.tar.gz3.编译nginxcd nginx-1.21.6.tar.gz# 执行命令./configure./configure --prefix=/home/centos/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module# 执行make命令make# 执行make install命令make install4.启动nginxcd /usr/local/nginx/sbin   # 启动nginx ./nginx
5.访问nginx6.增加源地址执行三条命令,添加php的源地址,更新,安装sudo apt-get install software-properties-commonsudo add-apt-repository -y ppa:ondrej/phpsudo apt-get update7.安装phpnginx使用php的话要用到php7.3-fpm,所以要安装php-fpmsudo apt-get install php7.3 php7.3-mysql php7.3-fpm php7.3-curl php7.3-xml php7.3-gd php7.3-mbstring php-memcached php7.3-zipphp -v
#切换不同版本的软件
update-alternatives --config php
php -v8.配置php-fpm   配置文件是www.conf把监听端口改掉;listen = /run/php/php7.3-fpm.socklisten = 127.0.0.1:90009.启动php-fpm   sudo service php7.3-fpm startnetstat -lnt | grep 9000#帮助你监控网络活动、排查网络故障、查看端口占用情况等。lsof -i:9000#lsof(List Open Files)是 Linux/Unix 系统中用于查看当前系统打开文件的工具。在 Unix/Linux 中,一切皆文件(包括网络连接、设备、管道等),因此 lsof 可用于监控进程打开的文件、网络连接、套接字等信息,常用于排查文件被占用、进程异常、端口占用等问题。#-i:按端口或网络连接筛选:-i#功能:查看与网络相关的打开文件(如套接字),支持按协议、端口号、IP 地址筛选。#格式:-i [protocol][@host|hostaddr][:port|portrange]#lsof -i :80       # 查看占用 TCP 80 端口的进程(HTTP 服务)#lsof -i tcp@192.168.1.1:22  # 查看与 192.168.1.1:22 建立的 TCP 连接#lsof -i UDP       # 查看所有 UDP 套接字查看9000端口10.改nginx的配置文件

![[Pasted image 20250712114312.png]]
![[Pasted image 20250712114317.png]]

安装mysqlapt-get install mysql-servermysql#存在一个问题,当前的mysql没有密码,且mysql8.4和php7.4之间的连接会出问题。设置root用户的密码ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';flush privileges;

小皮面板

https://m.xp.cn/phpstudy

宝塔面板

https://www.bt.cn/new/download.html

docker搭建

命令

grep

grep -r  "内容" /etc/ssh

找到包含该内容的文件

http协议、渗透测试、信息收集

端口

1-6 5535

静态端口

  • http 80
  • https 443
  • ssh 22
  • ftp 21、20

动态端口 3306除外

1024-65535

http协议

超文本传输协议
请求响应模型
http协议——应用层 80

URL和URI(统一资源标识符)

http、https、ftp获取到的网络资源的位置
http://www.test.com:80/dir/index.html?uid=1#ch1

协议名称 域名 端口 带层级的具体资源文件的路径 uid=1:查询的字符串

特点
  1. 无状态保存
    即使用户在不久前输入过用户名和密码,但是当用户想要操作的时候。还是需要再次输入用户名和密码
    http请求上一次传输的数据和下一次http的请求是没有任何关系的,会话没办法持续

    • Cookie
      服务器发送到用户浏览器并保存在本地的一小段数据,它会在浏览器下次向同一服务器发送请求时被鞋带并发送到服务器上

    • Session
      与Cookie强绑定

  2. 无连接

  3. 明文传输

请求方式

get、post、put、delete

get请求特点
  1. 参数暴露再传参的地址栏
  2. 存在长度的限制
  3. 一般只进行数据的获取,不进行数据的更改
post

一般会把数据打包放在请求体当中传递
相比较而言:post请求稍微安全

[!NOTE] 举例
客户端输入 www.baidu.comwww.baidu.comwww.baidu.com ==》

  1. ip
  2. tcp
  3. 发送http请求
  4. 服务器响应

请求数据包

![[Pasted image 20250712115139.png]]

  1. application/x-www-form-urlencoded

它对应的数据格式为 id=1&submit=%E6%9F%A5%E8%AF%A2

  1. multipart/form-data

这个格式主要用在上传文件的请求时使用的数据格式,就是告诉服务端,现在的数据是分块传输的,你服务端要分块接收。因为上传文件的时候,文件如果比较大,我们要一部分一部分的发送给服务端。

  1. application/json

它对应的数据格式为 {“id”:1,“name”:“ALICE”} ,看着有些像某些开发语言中的某个数据类型,但是这是json数据格式,与开发语言的数据格式不同。

Referer

表示发送方请求的原始地址

响应包

服务器端回给客户端的数据
![[Pasted image 20250712115247.png]]

状态码
  • 200 :ok 请求成功

  • 404 : not found 服务端没有你所请求的数据文件

  • 500 : 服务器内部发生错误

  • 400:客户端请求错误

  • 302:临时重定向

渗透测试的流程

什么是渗透测试

  1. 明确目标(授权的)

  2. 信息收集(子域名、真实ip、注册人相关信息、备案号……)

www.baidu.com aaa.baidu.com

  1. 漏洞检测

  2. 漏洞验证

  3. 提取所需

  4. 信息分析

  5. 信息整理

  6. 渗透测试报告生成

信息收集

  • 域名收集
  • 子域名收集
http://www.dtcms.com/a/276601.html

相关文章:

  • kettle从入门到精通 第101课 ETL之kettle DolphinScheduler调度kettle
  • RAG进阶之术:用“父子Chunk”策略破解复杂查询的“上下文迷局”
  • Win11怎样进入WinRE恢复环境
  • 并发--Callable vs Runnable
  • 深入理解 Boost.Asio 中的异步核心 boost::asio::io_context
  • AI智能体|扣子(Coze)搭建【裸眼3D著名故事动画视频】工作流
  • NOIP普及组|2005T1淘淘摘苹果
  • 常用控件QWidget
  • 部署Harbor私有仓库
  • 第五章 RAG知识库进阶
  • Java项目2——增强版飞机大战游戏
  • Linux:信号
  • Redis持久化机制:RDB和AOF
  • 【面试八股文】2025最新软件测试面试
  • 多模态数据解压-Parquet
  • 【数据结构初阶】--顺序表(三)
  • 咨询导览,AI发展趋势
  • 三维点云Transformer局部感受野构建:理论、方法与挑战
  • 【图像处理基石】如何入门大规模三维重建?
  • 宁德时代2025年社招入职Verify测评语言理解数字推理考点及SHL测评真题整理
  • Augmented Nested Arrays With Enhanced DOF and Reduced Mutual Coupling
  • C++面试问题集锦
  • Linux系统编程——目录 IO
  • C++ 算法题常用函数大全
  • 独立开发第二周:构建、执行、规划
  • 数智管理学(三十二)
  • ATE-市场现状及趋势
  • AI:机器人行业发展现状
  • 用 Jpom 10 分钟搭好一套轻量级 CICD + 运维平台
  • 傅里叶方法求解偏微分方程2