渗透安全(渗透防御)④

安装php

由于有些安全性bug经过时间的检验后,会被人为修复,所以,想要复现当时的bug需要下载当时的环境,而直接使用apt下载php会直接下载最新版,会导致bug被修复,从而导致无法复现。因此需要安装php库,然后再下载所需要版本的php

下载仓库

复制代码
sudo apt-get install software-properties-common    ---安装 software-properties-common 这个工具包。
sudo add-apt-repository -y ppa:ondrej/php    ---添加一个名为 ondrej/php 的 PPA(Personal Package Archive)到系统的软件源列表中
sudo apt-get update    ---更新

下载php

复制代码
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
---这是7.3版本常用的php

update-alternatives --config php    ---查看php版本

修改主配文件

复制代码
find / -name www.conf    ---在整个文件系统中查找名为 www.conf 的文件
cd /etc/php/7.3    ---进入 PHP 7.3 的配置目录,准备查看或编辑相关配置文件

主配文件在cli,fpm目录下都有,此时要注意,cli只在命令行生效,fpm可以在网页生效,因此改fpm目录中的主配文件。

复制代码
 cd pool.d/  
---/etc/php/7.3/fpm/
├── php.ini          ← PHP 全局配置(如内存限制、时区等)
└── pool.d/          ← **进程池配置目录**
    └── www.conf     ← 默认的"www"进程池配置  

 vim www.conf   
---www.conf 是 PHP-FPM 默认的主进程池配置文件,控制着:
PHP 以什么用户身份运行(安全关键!)
如何与 Nginx/Apache 通信(通过 socket 还是端口)
资源使用限制(最大子进程数、请求超时等)

 sudo systemctl restart php7.3-fpm    ---重启服务
 sudo ss -tulnp | grep :9000    ---确保php在监听9000端口

编辑nginx文件

复制代码
vim /etc/nginx/sites-available/default    ---编辑nginx文件
sudo systemctl restart nginx    ---重启nginx
systemctl status nginx    ---查看nginx状态

确保这一部分的内容和php配置文件中的一致。

测试

复制代码
cd /var/www/html/    ---来到nginx网页根目录
vim phpinfo.php    ---编辑一个网页测试文件
    <?php phpinfo();    ---文件内容

先确定nginx可以正常访问

在确定文件可以正常访问

RSA算法

上一章提到了HTTPS,我们都知道HTTPS和HTTP相比,HTTPS是安全的,为什么安全,是因为在HTTP的基础上加了一个SSL,使其加密。而为什么加密很安全,可能很多人都说不出来。想要知道为什么安全,我们就要先知道RSA算法是什么。因为本人的数学真的很烂,所以这里不讲解什么,只是大概讲一下逻辑,这里强烈推荐大家去搜索阮一峰rsa1,2的文章,里面非常详细的讲解了RSA算法。

RSA算法是什么

RSA算法其实是三个数学家设计的算法,用他们三个人的名字的首字母命名。其实就是非对称加密。而要理解这个算法,我们首先得知道欧拉函数,这是这个算法的核心。而公私钥的生成如下:

第一步,随机选择两个不相等的质数p和q。

第二步,计算p和q的乘积n

第三步,计算n的欧拉函数φ(n)。

第四步,随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质。

第五步,计算e对于φ(n)的模反元素d

第六步,将n和e封装成公钥,n和d封装成私钥

而如果想在知道e的情况下推导出d(用公钥算出私钥),就需要以下步骤

(1)ed≡1 (mod φ(n))。只有知道e和φ(n),才能算出d。

  (2)φ(n)=(p-1)(q-1)。只有知道p和q,才能算出φ(n)。

  (3)n=pq。只有将n因数分解,才能算出p和q。

但是以目前人类的算力来说,只能破解829位的密钥(2020年数据),而现今的HTTPS一般的密钥长度是2048位,特殊场景(如金融行业)是3072 位或 4096 位,以目前人类的算力,公开记录中成功分解的最大整数仅为 829 位。面对现在主流的 2048 位密钥,想要通过分解 n 来反推私钥,在数学上被认为是计算不可行的。也就是说我们无法算出私钥的那个d的值,所以RSA算法安全,所以HTTPS安全。

相关推荐
BullSmall2 小时前
第三方软件安全-Dependency‑Track Docker 部署
安全·docker·容器
AImatters3 小时前
国产算力底座,支撑油气储运数字化迈过关键分水岭
安全·cpu·算力·海光·油气储运
叠叠乐6 小时前
中国移动家庭云电脑window关闭所有安全脚本
安全
Jmyd01236 小时前
实训室的 3D 模型涉及肖像文物,数据安全与合规怎么做?
安全·3d·数据安全·虚拟实训
芯盾时代6 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全
敢敢是只喵i7 小时前
一个本地 AI Agent 要操作多个门店或 SaaS 账号,应该怎样安全切换身份?
人工智能·安全·ai·系统架构·业界资讯
Acrel12347 小时前
DC800V 大规模落地,算力机房安全该如何保障
安全
其实防守也摸鱼8 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
深圳海导科技9 小时前
资产防盗追踪系统:物联网高价值资产安全管理|海导科技navynav
科技·物联网·安全
波多利希最高礼仪的握力器9 小时前
安全复制SCP
linux·服务器·安全