news 2026/9/27 3:42:55

第二周学习周报

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第二周学习周报

第二周学习周报(2026.9.21 - 2026.9.26)

本周主线:Docker 安装与环境配置 → Linux 文件系统基础 → SQL 注入实战(sqli-labs Less-1~3)

目录

  • 一、Docker 安装与环境配置
    • 1. 安装位置选择
    • 2. 安装命令
    • 3. 镜像加速器配置
    • 4. Docker 基本操作
    • 5. 踩坑记录
  • 二、搞懂 Linux 文件系统
  • 三、实践内容
    • 1. Docker 环境配置
    • 2. SQL 注入基础流程(Less-1 ~ Less-3)
    • 3. MOECTF 2026 新生赛

一、Docker 安装与环境配置

1. 安装位置选择

有 VMware + Kali 的情况下,Docker 装 Kali 里,不装 Windows 主机。理由:

  • Kali 是后续打靶场、跑渗透工具的主战场,Docker 装在里面环境统一。
  • 不需要额外装 WSL 2 后端,少一层麻烦。
  • 有快照功能,装崩了能一键回滚。

2. 安装命令

sudoaptupdatesudoaptinstall-ydocker.iosudosystemctlenabledocker--nowsudousermod-aGdocker$USER

注意:usermod加组后必须注销重登,之后docker命令才不用加sudo。

3. 镜像加速器配置

国内直连 Docker Hub 基本拉不动,需要配镜像源。编辑/etc/docker/daemon.json:

{"registry-mirrors":["https://docker.m.daocloud.io"]}

保存后重启服务:

sudosystemctl daemon-reloadsudosystemctl restartdocker

4. Docker 基本操作

常用命令

dockerrun hello-world# 跑一个测试容器dockerrun-itubuntubash# 拉 Ubuntu 镜像并进入容器dockerps# 看正在运行的容器dockerps-a# 看所有容器(含已停止的)dockerimages# 看本地已有镜像dockerrm<容器ID># 删除容器dockerrmi<镜像ID># 删除镜像

进入容器后的验证

ls# 查看目录结构pwd# 查看当前路径cat/etc/os-release# 查看系统版本whoami# 查看当前用户exit# 退出容器

进入容器后提示符会变成root@<容器ID>:/#,跟宿主机的 Kali 提示符区分开。

容器与镜像的区别

  • 镜像:模板,只读,拉一次可以反复用。
  • 容器:镜像跑起来的实例,可以启停、删除。
  • 删容器不删镜像,下次还能秒开新容器。

5. 踩坑记录

  • Docker 默认不走系统代理:浏览器能打开 GitHub,不代表 Docker 能拉镜像。需要在daemon.json里配镜像源,或单独给 Docker 配代理。
  • 权限问题:不加sudo报permission denied,说明用户没加进docker组,需要usermod+ 注销重登。
  • 国内网络环境:Docker Hub 拉镜像经常超时,配国内镜像加速器是标配操作。
  • fcitx与fcitx5区分:Kali 里装的是 fcitx4,启动命令是fcitx,不是fcitx5,输错命令会报command-not-found。

二、搞懂 Linux 文件系统

摘自《北京大学计算机基础能力手册》

Linux 认为什么都是文件,于是,Linux 的根目录/就成了所有文件的起点。

Linux 使用/作为分隔符,可以使用/来表示根目录,使用..来表示上一级目录,使用./来表示当前目录。需要注意的,Linux 的文件系统是区分大小写的。

/usr/local/bin目录通常会被包含在PATH变量中。

可以使用ls -l命令来查看文件的权限。

常见权限标识符含义:

权限含义常用场景
755你自己能读写执行,别人只能读和执行可执行文件、目录常用
644你自己能读写,别人只能读普通文件常用
700只有你自己能读写执行,别人什么都干不了私密文件、SSH 密钥常用

⚠️chmod 777 -R /会导致系统所有成员全部被视同 root 用户,进而导致系统无法正常工作。

一般的文件类型只有三个:普通文件、目录和链接文件。

Linux 系统文件主要目录:

  • /bin:包含系统启动和运行所需的基本命令和工具。在现代的 Linux 架构下,/bin目录通常是/usr/bin的符号链接,实际的可执行文件都放在/usr/bin目录下,这是为了简化文件系统结构和维护而做出的调整。
  • /sbin:包含系统管理员使用的命令和工具。同样的,现在通常直接链接到/usr/bin目录。
  • /usr:包含用户安装的软件和库文件。
  • /var:包含可变数据,如日志文件、邮件等。
  • /lib:包含系统运行所需的共享库文件。出于和/bin和/sbin目录一样的原因,现在通常直接链接到/usr/lib目录。
  • /home:包含用户的个人目录。
  • /etc:包含系统配置文件。
  • /dev:包含设备文件,表示系统中的硬件设备。
  • /proc:包含系统进程和内核信息的虚拟文件系统。
  • /tmp:包含临时文件,系统重启后会被清空。
  • /opt:这是特殊的软件包安装目录,通常用于安装第三方软件。这些软件一般不会依赖于系统的其他部分,因此被放在这个目录下,以避免与系统文件发生冲突。
  • /mnt:挂载点,通常用于挂载外部设备或分区。当我们需要访问一个新的分区或者设备时,可以在/mnt目录下创建一个新的目录来挂载它。

所有的 Linux 根目录基本都长这样,只多不少。

如果进入/dev,我们会发现很多有意思的文件(其实都是"设备")。

关于用户切换:

在终端内使用su命令即可以超级用户开启以该用户为身份的 shell。

sudo是"以超级用户身份运行命令"的意思。通过sudo,我们可以授权某些用户以超级用户的身份执行特定命令,而不需要直接使用 root 账户。


三、实践内容

1. Docker 环境配置

拉取靶场镜像

dockerrun-d-p8080:80 acgpiano/sqli-labs

配置 Docker 代理(解决拉取超时)

由于 Docker 默认不走系统代理,直接拉取 Docker Hub 镜像会超时。需手动配置代理,且代理地址应指向宿主机 IP(非127.0.0.1):

[Service] Environment="HTTP_PROXY=http://192.168.xxx.1:7890" Environment="HTTPS_PROXY=http://192.168.xxx.1:7890"

配置后需systemctl daemon-reload并重启 Docker。

2. SQL 注入基础流程(Less-1 ~ Less-3)

核心思路:判断闭合方式 → 判断列数 → 找回显位 → 爆库/表/列/数据。

Less-1:单引号闭合
  • 判断注入点:?id=1'报错,确认字符型注入。
  • 判断列数:ORDER BY 3正常,ORDER BY 4报错,确认 3 列。
  • 找回显位:?id=-1' UNION SELECT 1,2,3--+,第 2、3 列回显。
  • 爆数据:
UNIONSELECT1,database(),version()UNIONSELECT1,2,group_concat(table_name)FROMinformation_schema.tablesWHEREtable_schema='security'UNIONSELECT1,2,group_concat(column_name)FROMinformation_schema.columnsWHEREtable_name='users'UNIONSELECT1,group_concat(username),group_concat(password)FROMusers
Less-2:数字型注入
  • 区别:参数无引号包裹,不需要闭合符号。
  • 判断方式:?id=1 AND 1=1正常,?id=1 AND 1=2无回显。
  • 后续流程:与 Less-1 完全一致(列数 3,回显位 2、3)。
Less-3:单引号 + 括号闭合
  • 判断闭合:?id=1'报错信息中出现'1''),推断原 SQL 为id=('1')。
  • 正确闭合:?id=1') --+
  • 后续流程:与 Less-1 一致,payload 改为?id=-1') UNION SELECT ...

踩坑记录

  • Docker 代理不生效:配置127.0.0.1指向的是容器自身,必须改成宿主机 IP(192.168.xxx.1)。
  • VPN 需开启"允许局域网":否则 Kali 无法访问宿主机代理端口。
  • --+的作用:--是 SQL 注释符,+在 URL 中代表空格,用于注释掉原 SQL 剩余部分。
  • ORDER BY用途:按第几列排序,数字超过实际列数会报错,可用来判断列数。

3. MOECTF 2026 新生赛

本周参加了 MOECTF 2026 新生赛,完成了签到、nc/ssh 工具使用、源码泄露等基础题目,熟悉了 CTF 平台的操作流程和工具链。

详细内容由于比赛规则限制不再阐述。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 3:40:36

两小时精通Excel宏与VBA:从录制到实战,告别重复劳动

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/27 3:40:25

站点卡住了,怎么破?—— SEO 流量瓶颈的 8 种卡法与破局思路

做 SEO 的人早晚会撞上这堵墙&#xff1a;前几个月流量涨得顺&#xff0c;某天开始就趴着不动了&#xff0c;曲线平得像用尺子画的。翻后台也看不出大毛病&#xff0c;但数字就是不动。这个阶段难受就难受在&#xff0c;问题不摆在明面上。刚开始那阵&#xff0c;任务是"有…

作者头像 李华
网站建设 2026/9/27 3:35:05

Pitch/Yaw/Roll全解析:三维旋转的数学原理与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/27 3:27:05

Kuikly响应式更新详解:数据驱动UI自动刷新的机制到底是什么

Kuikly响应式更新详解&#xff1a;数据驱动UI自动刷新的机制到底是什么 【免费下载链接】KuiklyUI 基于KMP技术的高性能、全平台开发框架&#xff0c;具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified…

作者头像 李华
网站建设 2026/9/27 3:23:01

告别反复下载安装包:Electron动态薄壳打造点刷新即秒级热更新实战

文章目录1. 传统桌面发版的痛感账本&#xff1a;改一行代码遭全套打包罪受1.1. 开发环境与依赖矩阵&#xff1a;为什么传统模式难以维系&#xff1f;1.1.1. 120MB 安装包背后的漫长构建与上传链路1.2. 用户的更新心理壁垒与高流失率1.2.1. 弹窗强行升级打断用户心流与流失痛点2…

作者头像 李华