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

A001.金戈企业网站搭建

本章使用CentOS 7和金戈企业网站搭建了一个Linux靶机。利用此靶机,进行了手工SQL注入,SQLMAP注入,WebShell上传等安全测试,并通过CVE-2021-3156漏洞进行了系统权限提升。然后进一步利用了SSH后门、协议后门、Rootkit后门等进行了权限维持的实践,随着又介绍了使用Chkrootkit、Rkhunter、Lynis、Unhide、GScan等安全检测工具对系统中的后门进行检测。之后介绍了一个Linux挖矿病毒的分析(主要是shell脚本分析),最后使用了软件WAF和OepnRASP对网站进行了安全防护。

    1. 金戈企业网站搭建

进入21世纪,随着信息技术的不断发展,信息安全问题也日益严峻。早期的互联网中,Web并非互联网的主流应用,黑客们主要的攻击目标是网络、操作系统以及软件等领域。随着防火墙与ACL等网络安全产品与技术的兴起,使得暴露在互联网上的非Web服务越来越少,改变了互联网安全的走向。另一方面,Web技术的成熟使得Web应用的功能越来越强大,最终成为了互联网的主流服务。作为企业业务的主要承载者-Web信息系统,正面临着巨大的安全挑战。传统的安全技术,如防火墙、反病毒设备对此束手无策,Web攻击利用自身的合法性绕过了防火墙。

本章将在Linux系统上安装部署金戈企业网站,然后利用网站漏洞获得Webshell,最后利用CVE-2021-315漏洞获得root权限。

靶机构建的主要过程如下:

  1. 在虚拟机里安装CentOS-7-x86_64-Minimal-2009,采用最小化安装,请采用相同的实验环境,以避免因实验环境不同而产生问题(主要是提权部分会产生问题)。
  2. 使用小皮面板(PhpStudy Linux)部署web运行环境,安装金戈企业建站系统v0.1

此次实验会使用到以下工具:VMware Workstation虚拟机、金戈企业建站系统v0.1、小皮面板(PhpStudy Linux)、SSH客户端工具、sqlmap、BurpSuite、中国菜刀,Kali-Linux-2021.2-vmware-amd64。

    1. 搭建金戈企业网站

首先,在VMware里新建虚拟机,安装CentOS-7-x86_64-Minimal-2009。安装完成后给CentOS虚拟机配置一个静态IP地址,然后给虚拟机创建一个快照,起名为“初始快照”,方便后面需要的时候恢复初始状态。

然后使用任意SSH客户端工具连接到CentOS虚拟机进行操作。以SecureCRT为例,输入虚拟机的IP地址、用户名后点击“连接”按钮,如可连接会提示“新建主机密钥”窗口,点击“接受并保存”后,会要求输入密码,即为系统登录密码,登录成功后,会显示命令行界面。

图 1.1

接下来需要设置SecureCRT字符编码为UTF-8,否则遇到中文后会出现乱码。右键IP地址标签处,弹出菜单后选择最后一项“会话选项”,在左侧“类别”树形框中,选择“终端”-“外观”,然后在右侧“字体”分组框内,“字符编码”下拉菜单中选择UTF-8,最后点击“确定”。

图 1.2

也可以根据自己的喜好,调整背景颜色或其他设置。

      1. 安装小皮面板(PHPStudy)

PHPStudy Linux 面板是由PHPStudy官方团队针对Linux服务器推出的一款服务器环境搭建以及管理工具。不熟悉小皮面板使用的可以访问官方网站上的操作手册:https://www.xp.cn/phpstudy-linux/,或者视频教程:https://www.php.cn/course/1101.html进行学习。

然后,根据网页上的安装提示,使用CentOS安装脚本进行安装。

图 1.3

使用以下命令,下载并执行CentOS的安装脚本。

yum install -y wget && wget -O install.sh https://notdocker.xp.cn/install.sh && sh install.sh

由于是在线安装,需要保证虚拟机能够访问互联网,在网络畅通的情况下,一般几分钟后就能完成面板的安装。

安装完成后,SecureCRT窗口里会显示面板相关信息,包含了面板的登录地址、登录初始账号和密码。(这些信息需要保存下来,后面会用到)

内网:http://192.168.142.133:9080/A3BB90

系统初始账号:admin

系统初始密码:vnuI7ABGtn

由于我们是本地虚拟机做实验,所以无需理会外网登录地址,仅需内网地址即可,也不需要到安全组开放9080端口,接下来就使用浏览器访问:http://192.168.142.133:9080/A3BB90并登录,登录后会同意一份软件许可协议,点击“同意”即可。然后会弹出“一键安装基础套件”窗口,这时我们需要安装LNMP环境,Nginx和Apache、PHP相应版本在安装面板时已经自动安装好了,我们点击“一键安装”按钮,开始安装MySQL。安装完成后会提示安装完成,窗口会自动关闭。

图 1.4

这时,使用浏览器访问虚拟机IP,就是网站主页。

图 1.5

      1. 搭建金戈企业网站

点击左侧面板中“网站”菜单,会看到一个默认的站点,点击“网站目录”后会跳转到“文件管理”页面,此处就是网站的根目录,这时我们把金戈企业建站系统v0.1网站程序压缩包通过按钮“文件上传”上传到网站根目录。然后鼠标移动到压缩文件上,会显示四个按钮,我们点击“解压”按钮,弹出“解压缩”窗口后,点击“解压缩”按钮,等待解压完成后,关闭“解压缩”窗口。然后点击“刷新”按钮,刷新根目录。

图 1.6

由于此网站程序与高版本的PHP会有一些兼容性问题,报错较多,因此需要新安装一个低的PHP 5.3.29版本。点击面板左侧的“软件管理”后,在右侧搜索查找PHP5.3.29版本并安装。

图 1.7

接下来,切换PHP版本为5.3.29。点击左侧菜单的“网站”,可以看到当前的“程序语言”仍然是PHP 5.5.38,现在需要点击后方的“配置”按钮,在弹出的“站点设置”中,选择“PHP版本”,然后在下拉菜单中选择PHP5.3.29,最后点击“保存”按钮,提示“保存成功”后,点击该窗口右上角的关闭以关闭“站点设置”窗口。

图 1.8

然后使用浏览器访问金戈企业建站系统的安装地址:http://192.168.142.133/install/

这时候,会显示“基本运行环境要求”的页面,页面中会显示有Notice类型的报错,如下图:

图 1.9

在这个地方就涉及到PHP的错误等级设置,PHP的error_reporting(错误报告)有以下类型:

  1. E_ERROR:导致脚本终止运行的致命错误等
  2. E_WARNING:运行时的警告类错误,脚本不会终止运行
  3. E_PARSE:编译时的语法解析错误
  4. E_NOTICE:通知类错误,脚本可能会产生错误
  5. E_ALL:所有可能出现的错误

其中Notice错误等级最低,这种提示不影响网站程序的正常运行,但看起来页面不整洁,因此还是通过设置,将Notice错误提示忽略掉。

方法一:切换到phpstudy的管理页面,选择面板左侧的“软件管理”,找到并点击php5.3.29后方“设置”按钮,在弹出的“设置[php 5.3.29]”窗口中,点击第二个“参数调整”,找到“error_reporting”错误级别,改为“E_ALL & ~E_NOTICE”后,点击“保存”按钮。

图 1.10

待提示“保存成功”后,点击该窗口右上角关闭“设置[php 5.3.29]”窗口。

方法二:在SSH终端里直接修改php配置文件。使用vi编辑器打开/usr/local/phpstudy/soft/php/php-5.3.29/etc/php.ini文件,查找‘error_reporting’,找到以“error_reporting =”开头的这一行,将其改为:

error_reporting =E_ALL & ~E_NOTIC

然后保存(如果这一行的前面有分号,分号代表注释,要将分号去掉)。

这个配置项的含义如下:E_ALL代表报告所有错误;E_NOTICE代表通知类错误,加~号代表不报告;&表示逻辑与,合起来就是报告除了NOTICE类型之外的所有错误。

修改配置之后,必须重启Nginx,否则配置不能生效。点击左侧的第一个“首页”,在“已安装软件”分组框中,将鼠标移动到Nginx1.15区域内,此时会显示三个按钮,

图 1.11

点击“重启”按钮以重启Nginx服务,待提示“重启成功”后,重新访问金戈企业建站系统安装页面http://192.168.142.133/install/,这时安装页面就没有错误提示了。

图 1.12

点击“设置安装选项>>”按钮,开始下一步安装,这时候访问到“安装界面”,需要提供网站数据库的相关信息,并设置将要登录的网站管理员信息。

这时我们再次切换到phpstudy的管理页面。为网站新建一个数据库。在首页启动数据库服务,等待启动成功后,点击左侧第四个“数据库”,点击“添加数据库”按钮,在弹出的“添加数据库”窗口中,填写数据库名、用户名及密码,可以以以下图片为参考进行填写,也可以点击旁边的按钮生成随机密码;最后点击“保存按钮”即可成功创建一个数据库。

图 1.13

以下是刚才建立的数据库信息:

数据库名:jingesjkm

数据库编码:GB2312

用户名:jingeyhm

密码:jingemima

在这里,数据库编码对于数据库来说也就是存储数据的编码方式,在面板这里默认是选择的UTF-8编码,由于此网站程序环境需要,我们要通过下拉菜单选择GB2312编码。

回过头,切换到网站的安装页面,填写刚才创建的数据库输入的信息和需要创建的管理员信息。以下是填写的内容:

图 1.14

数据库服务器,默认是localhost,意思为本地服务器,也可以填写127.0.0.1本机服务器。

数据库用户名(密码):出于安全的考虑,这里没有直接使用数据库的root用户,而是使用的是上面创建数据库时使用的用户和密码。

管理员账号(密码):admin,这是指网站的管理员,密码可以自行设置,这里设置为159357。点击“下一步”按钮后,正常情况会出现安装完成的提示。如果出现了一些异常的错误情况,如果出现右侧截图的情况,请检查具体报错信息,对应在互联网搜索引擎中自行解决。

图 1.15

安装完成后,按住键盘Ctrl键不放,然后使用鼠标左键分别点击“进入后台”和“进入首页”按钮。金戈网站程序后台登陆地址为:http://192.168.142.133/isadmin/login.php。下图是网站安装完成后的前台页面。

图 1.16

安装完成后,登录后台(登录时如果遇到UID为1000的问题可以参考1.5节的其它问题解决)。使用安装过程中设置的网站管理员账号和密码,为网站添加几篇企业新闻,此过程请自行完成,不再赘述。添加完成后,回到“企业新闻”页面。

图 1.17

完成新闻添加后,给虚拟机创建一个快照,起名为“金戈网站”。

http://www.jsqmd.com/news/733734/

相关文章:

  • 2026年,邯郸GEO运营解决方案公司哪家强?答案即将揭晓! - 速递信息
  • 别再手动填Excel了!用阿里EasyExcel实现省/市/区三级联动下拉,附完整Java代码
  • 多线程——面试中常考的内容(11)
  • 3步彻底解决Visual C++运行库问题:VisualCppRedist AIO完全指南
  • Lean 4定理验证:方法论与工程实践
  • PHP V6 单商户常见问题——升级提示mkdir()处理方案
  • 终极二维码修复指南:QRazyBox让你的失效二维码重获新生
  • 2026 佐米曲普坦临床选药与评测深度指南:偏头痛患者的高性价比优选 - GrowthUME
  • MARS算法原理与Python实现:非线性回归实战指南
  • 【c++】异常处理
  • MCP 2026医疗数据安全防护“红蓝对抗”实战手册(内部流出版):覆盖CT/MRI/病理全模态攻击链与17个防御卡点
  • 01 用栈实现队列
  • 大气层系统完整指南:Switch自定义固件的终极解决方案
  • Moonlight-Switch:Nintendo Switch游戏串流技术方案与多平台兼容架构
  • taotoken 平台 python 调用 openai 兼容 api 的完整入门指南
  • 借助模型广场与官方折扣为新项目选择高性价比模型
  • 解锁旧Mac新生命:OpenCore Legacy Patcher完全指南
  • C++中string常用方法总结
  • 2026年扬州工厂短视频代运营案例分析 - 速递信息
  • 2026企业AI陪跑推荐:全程陪伴,落地见效 8 - 速递信息
  • 【Laravel AI Security Alert】:2026年Q1已爆发7起Prompt注入+模型越权调用事件,3步修复框架层RCE风险(附CVE-2026-XXXX PoC)
  • Laravel 12模型层AI增强成本封顶设计:3种可插拔式Token配额策略,让每个Eloquent操作自带预算守门员
  • 别再乱配CORS了!Flask-CORS从入门到生产环境安全配置实战(含Nginx反向代理)
  • 基于AI与现金流模拟的自托管个人财务预测机器人开发实践
  • CompressO:如何用这款免费开源工具将视频图片压缩90%以上
  • 为AI代码生成器Cursor配置ESLint与Prettier规则集,实现自动化代码规范检查与格式化
  • 2026连云港黄金回收市场深度解析与靠谱品牌推荐 - 速递信息
  • 【黑马点评日记】异步秒杀:异步线程和阻塞队列以及Lua脚本的相关流程分析
  • R语言偏见检测不可绕过的5个统计陷阱,第3个让OpenAI内部报告延迟发布117天
  • EpiCaR集成学习:动态修正认知不确定性的高效推理方法