安全简介
安全简介:信息安全--保密性、完整性、可用性
网络安全:渗透攻击和防御:技术手段--防火墙
web安全
常见的漏洞:sql注入(数据库)、xss跨站脚本攻击、文件上传下载漏洞、弱口令、csrf攻击
查找命令:
grep -r "内容" /etc/ssh
环境搭建
环境搭建的方式很多(lnmp、小皮面板、宝塔面板、docker)
在虚拟机上安装ubuntu(可以在csdn上搜索过程)安装完成之后:
sudo apt update # 更新软件包列表
sudo apt upgrade -y # 升级所有已安装的软件包
sudo apt dist-upgrade # 处理依赖关系升级(可选)
基本工具的安装
sudo apt install -y \
curl wget git vim nano \
net-tools tree unzip zip
#关闭防火墙
sudo ufw enable # 启用防火墙
sudo ufw allow ssh # 允许 ssh(如果要远程连接的话)
sudo ufw allow http # 允许 http(80端口)
sudo ufw allow https # 允许 https(443端口)
sudo ufw status # 查看防火墙规则
配置ssh(远程访问)
易错点:需在配置文件中进行相应的配置,前提是:确保自己的系统中存在服务ssh并且成功开启。
确保防火墙和selinux是关闭的状态
systemctl stop ufw
systemctl disable ufw
setenforce 0 #把SELinux暂时禁用(让状态松一点)
如果不存在ssh服务,那么下载
apt-get install openssh-server
systemctl start ssh
systemctl status ssh
root@gx-virtual-machine:/# vim /etc/ssh/sshd_config
root@gx-virtual-machine:/# systemctl restart ssh
1、基于linux操作系统实现环境的搭建
ubuntu安装nginx以及php的部署
1.安装依赖包
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
2.安装nginx
tar -xvf nginx-1.21.6.tar.gz
3.编译nginx
cd 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 install
4.启动nginx
cd /usr/local/nginx/sbin
# 启动nginx
./nginx
5.访问nginx
6.增加源地址
执行三条命令,添加php的源地址,更新,安装
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update
7.安装php
nginx要使用php的话要用到php7.3-fpm,所以要安装php-fpm
sudo 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-zip
php -v
#切换不同版本的软件
update-alternatives --config php
php -v
8.配置php-fpm 配置文件是www.conf
把监听端口改掉
;listen = /run/php/php7.3-fpm.sock
listen = 127.0.0.1:9000
9.启动php-fpm
sudo service php7.3-fpm start
netstat -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 套接字
10.改nginx的配置文件
直接用vim更改配置文件比较麻烦,所以可以用vscode远程连接虚拟机。
下载插件remote-ssh即可
ssh root@ip地址 -A
安装mysql
apt-get install mysql-server
mysql
#存在一个问题,当前的mysql没有密码,且mysql8.4和php7.4之间的连接会出问题。
设置root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges;
2、基于在linux系统下部署面
宝塔面板 :宝塔面板下载,免费全能的服务器运维软件
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec
安装过程中,根据提示设置你的宝塔面板账号密码。
安装完成后,你会得到一个面板访问地址(通常是你的服务器IP地址加上端口,如:http://你的IP:8888
)。
3、基于docker对环境进行快速pull搭建
apt-get install docker.io docker-compose
docker设置代理:
设置docker代理:创建文件夹以及对应的文件
4、直接在主机上使用phpstudy进行快速搭建
phpstudy官网:小皮 Windows web面板 - 小皮面板(phpstudy)
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请求特点
参数暴露再传参的地址栏
存在长度的限制
一般只进行数据的获取,不进行数据的更改
- post
一般会把数据打包放在请求体当中传递
相比较而言:post请求稍微安全
Referer
表示发送方请求的原始地址
响应包
服务器端回给客户端的数据
![[Pasted image 20250712115247.png]]
状态码
- 200 :ok 请求成功
- 404 : not found 服务端没有你所请求的数据文件
- 500 : 服务器内部发生错误
- 400:客户端请求错误
- 302:临时重定向
渗透测试的流程--什么是渗透测试
- 明确目标(授权的)
- 信息收集(子域名、真实ip、注册人相关信息、备案号……) www.baidu.com aaa.baidu.com
- 漏洞检测
- 漏洞验证
- 提取所需
- 信息分析
- 信息整理
- 渗透测试报告生成