网络安全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 配置文件路径
#修改配置文件如下
#重启服务
systemctl restart ssh
搭建服务
lnmp
l指的是linux、n指的是nginx、p指的是php、m指的是mysql
- 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:查询的字符串
特点
-
无状态保存
即使用户在不久前输入过用户名和密码,但是当用户想要操作的时候。还是需要再次输入用户名和密码
http请求上一次传输的数据和下一次http的请求是没有任何关系的,会话没办法持续-
Cookie
服务器发送到用户浏览器并保存在本地的一小段数据,它会在浏览器下次向同一服务器发送请求时被鞋带并发送到服务器上 -
Session
与Cookie强绑定
-
-
无连接
-
明文传输
请求方式
get、post、put、delete
get请求特点
- 参数暴露再传参的地址栏
- 存在长度的限制
- 一般只进行数据的获取,不进行数据的更改
post
一般会把数据打包放在请求体当中传递
相比较而言:post请求稍微安全
[!NOTE] 举例
客户端输入 www.baidu.comwww.baidu.comwww.baidu.com ==》
- ip
- tcp
- 发送http请求
- 服务器响应
请求数据包
![[Pasted image 20250712115139.png]]
- application/x-www-form-urlencoded
它对应的数据格式为 id=1&submit=%E6%9F%A5%E8%AF%A2
- multipart/form-data
这个格式主要用在上传文件的请求时使用的数据格式,就是告诉服务端,现在的数据是分块传输的,你服务端要分块接收。因为上传文件的时候,文件如果比较大,我们要一部分一部分的发送给服务端。
- application/json
它对应的数据格式为 {“id”:1,“name”:“ALICE”} ,看着有些像某些开发语言中的某个数据类型,但是这是json数据格式,与开发语言的数据格式不同。
Referer
表示发送方请求的原始地址
响应包
服务器端回给客户端的数据
![[Pasted image 20250712115247.png]]
状态码
-
200 :ok 请求成功
-
404 : not found 服务端没有你所请求的数据文件
-
500 : 服务器内部发生错误
-
400:客户端请求错误
-
302:临时重定向
渗透测试的流程
什么是渗透测试
-
明确目标(授权的)
-
信息收集(子域名、真实ip、注册人相关信息、备案号……)
www.baidu.com aaa.baidu.com
-
漏洞检测
-
漏洞验证
-
提取所需
-
信息分析
-
信息整理
-
渗透测试报告生成
信息收集
- 域名收集
- 子域名收集