php、html基础认识,搭建网站及upload靶场挑战

1.php、html

HTML是超文本标记语言,用于构建网页结构,HTML文档主要由不同的标签组成,如双标签:<标签名>....</标签名>和 单标签:<标签名/。

PHP是服务器端脚本语言,用于动态生成网页内容‌。变量名以$开头,首字母不能以数字开始
,名字区分大小写不要用特殊符号、中文,_不算特殊符号,命名要有意义(别写xxx,aaa,ccc)这种变量名。

2.搭建网站

首先使用小P创建新网站如下

在www里创建新的文件夹

打开空白文件夹

右键打开终端输入edit及文件夹名称回车

输入hello world并点击文件保存

3.文件上传漏洞及靶场关卡

1.文件上传漏洞

一、核心概念:什么是文件上传漏洞?
 
网站允许用户上传头像、附件等文件时,若对上传文件的类型、内容、路径等校验不严格,攻击者可上传恶意脚本文件(如PHP木马、ASP后门),并通过访问该文件执行恶意代码,最终获取服务器权限。
 
- 核心危害:服务器被控制、数据泄露/篡改、植入恶意程序(挖矿、挂马);

- 常见场景:论坛附件、头像上传、网盘/文件分享平台、后台文件管理模块。
 
二、漏洞成因:为什么会出现?
 
本质是开发者对文件上传的“安全校验”缺失或不严谨,常见问题:
 
1. 仅做前端校验:只在浏览器端用JS检查文件后缀(如只允许jpg/png),攻击者可禁用JS、抓包绕过;

2. 后端校验不全面:

- 仅校验文件后缀(黑名单不全,如只禁php,可传php5、phtml);

- 仅校验MIME类型(抓包改Content-Type即可绕过);

- 忽略文件内容(上传图片马,伪装成图片实则包含恶意代码);

3. 文件路径/命名不当:上传文件的保存路径可预测、未重命名,攻击者能精准访问恶意文件。
 
三、基础绕过思路

前端JS校验、后缀名黑名单、MIME类型校验、文件内容校验

2.upload靶场关卡

1.第一题

通过小皮进入网站

在电脑创建一个文件夹,打开空白文件夹右键点击源代码输入如图

在这里选择文件夹,发现无法上传

打开火狐about:config输入

找见javascript关掉

重新发送

右键点击新标签打开,完成

2.第二题

打开bp同1发送,抓包

如图改为image/jpeg形式

send后发现上传成功

同理右键新标签打开

### 使用 PHP 配置和运行 upload-labs 靶场 #### 准备工作 为了搭建 `upload-labs` 靶场并使其正常运行,需要准备以下工具和环境: - 安装好的 PHPStudy 或其他支持 PHP 的 Web 服务环境。 - 下载的 `upload-labs` 文件。 确保已安装 Apache 和 PHP 支持的服务端软件。如果未安装,则需按照官方文档完成安装过程[^1]。 --- #### 配置步骤 ##### 1. 解压 `upload-labs` 文件 将下载的 `upload-labs.zip` 文件解压缩至目标目录(例如:`D:\phpstudy_pro\WWW\upload-labs`)。此路径应位于 PHPStudy 默认站点根目录下[^1]。 ##### 2. 修改 Apache 配置文件 编辑 Apache 的配置文件 `httpd.conf`,找到如下行: ```bash # AddType application/x-httpd-php .php ``` 取消该行前面的注释符号 `#` 并追加 `.php3`, `.phtml` 等扩展名的支持,最终效果如下所示: ```bash AddType application/x-httpd-php .php .php3 .phtml ``` 保存更改后的配置文件,并重启 Apache 服务以使设置生效[^3]。 ##### 3. 设置权限 确认 `upload-labs` 中涉及的上传目录具有写入权限。通常情况下,默认目录为 `/upload-labs/upload/`。可以通过右键属性或命令行方式赋予读写权限。 Linux/Mac 用户可以执行以下命令调整权限: ```bash chmod -R 777 /path/to/upload/ ``` Windows 用户则通过资源管理器手动设置文件夹权限即可。 ##### 4. 启动服务 启动 PHPStudy 提供的 Apache 和 MySQL 服务。验证 URL 是否能够访问: 打开浏览器输入地址 `http://localhost/upload-labs/index.php`,若页面加载成功说明初始配置无误。 --- #### 测试靶场功能 ##### 访问测试脚本 进入第一页 `index.php` 开始逐步挑战各个关卡。例如,在第三关 (`pass-03`) 可能会遇到无法直接上传 `.php` 文件的情况。此时可利用修改文件后缀的方式绕过限制,比如将文件命名为 `shell.php3` 进行上传。 ##### 利用 Burp Suite 抓包调试 对于某些复杂场景,可能需要用到抓包工具辅助分析请求数据流。例如上传一个合法图片后再篡改其 MIME 类型为恶意脚本形式提交给服务器处理[^2]。 以下是简单的 Python 脚本模拟 POST 请求发送文件的例子: ```python import requests url = 'http://localhost/upload-labs/pass-01/' files = {'file': ('test.php', '<?php phpinfo(); ?>', 'application/octet-stream')} response = requests.post(url, files=files) print(response.text) ``` --- ### 注意事项 - **安全性**:由于这是学习性质的实验环境,请勿将其暴露于公网环境中以免造成不必要的风险。 - **版本兼容性**:部分插件可能存在特定 PHP 版本依赖关系,请提前查阅相关资料确认当前使用的解释引擎满足需求条件。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值