技术服务的使用与挖掘:从树莓派监控到数据库信息提取
1. 网站搭建基础操作
若想学习黑客技术,Hackers - Arise.com 是个好去处。在搭建相关网站时,可在 index.html 文件中添加如下简单 HTML 代码:
<p> If you want to learn hacking, Hackers-Arise.com </p>
<p> is the best place to learn hacking!</p>
操作步骤如下:
1. 精确输入上述文本后,将文件保存为 /var/www/html/index.html 并关闭文本编辑器。若提示文件已存在,直接覆盖即可。
2. 保存好 /var/www/html/index.html 文件后,在浏览器中访问 http://localhost ,就能看到类似图 12 - 2 那样 Apache 服务器提供的网页。
2. OpenSSH 与树莓派监控系统
2.1 SSH 简介
SSH 即 Secure Shell,能让我们安全连接到远程系统的终端,是过去常用的不安全的 telnet 的替代方案。在构建 Web 服务器时,SSH 可创建访问列表、用加密密码验证用户以及加密所有通信,降低非授权用户使用远程终端和拦截通信的风险。Linux 系统中最常用的 SSH 服务是 OpenSSH,几乎所有 Linux 发行版(包括 Kali)都预装了它。
2.2 树莓派监控系统搭建
2.2.1 准备工作
- 树莓派是一款小巧强大、信用卡大小的计算机,适合作为远程监控工具。可在亚马逊等电子零售商处,以不到 50 美元的价格购买树莓派,相机模块约 15 美元。
- 确保树莓派运行 Raspbian 操作系统,可从 https://www.raspberrypi.org/downloads/raspbian/ 下载并安装。
- 将树莓派连接到显示器、鼠标和键盘,再连接到互联网。若对此不熟悉,可查看 https://www.raspberrypi.org/learning/hardware - guide/ 的说明。
- 以用户名
pi和密码raspberry登录。
2.2.2 启用 SSH 服务
- 树莓派的 SSH 默认关闭,需进入“Preferences”菜单,启动“Raspberry Pi Configuration”,在“Interfaces”选项卡中,将 SSH 选项勾选为“Enabled”,然后点击“OK”。
- 打开终端,输入以下命令启动 SSH 服务:
$ pi >service ssh start
2.2.3 安装相机模块
- 对于树莓派 3 代,关闭树莓派,将相机模块连接到相机端口,再开启树莓派。注意相机很脆弱,切勿接触通用输入输出(GPIO)引脚,否则可能短路损坏。
- 将树莓派放置在想要监控的位置,通过以太网电缆或 Wi - Fi(树莓派 3 和树莓派 Zero 有内置 Wi - Fi)连接到局域网。
- 获取树莓派的 IP 地址,使用
ifconfig命令:
pi >ifconfig
2.2.4 连接树莓派
从 Kali 系统通过 SSH 连接到树莓派,命令如下(需使用自己树莓派的 IP 地址):
kali >ssh pi@192.168.1.101
pi@192.168.1.101's password:
默认密码是 raspberry ,除非你已更改。
2.3 相机配置
输入以下命令启动树莓派配置工具:
pi >sudo raspi - config
操作流程如下:
1. 滚动到“6 Enable Camera”并按回车键。
2. 滚动到菜单底部,选择“Finish”并按回车键。
3. 当配置工具询问是否重启时,选择“Yes”并按回车键。重启后,树莓派相机就可用于监控了。
2.4 开始监控拍照
树莓派重启并通过 SSH 登录后,可使用 Raspbian 操作系统中的 raspistill 应用拍照。
- 输入 raspistill 可查看工具的帮助屏幕和所有选项:
pi@raspberrypi: raspistill
raspistill Camera App v1.3.8
Runs camera for specific time, and takes JPG capture at end if requested
usage: raspistill [options]
Image parameter commands
--snip--
- 使用默认选项拍照并保存为 JPEG 文件,命令如下:
pi@raspberrypi: raspistill -v -o firstpicture.jpg
raspistill Camera App v1.3.8
width 2592, Height 1944, quality 85, filename firstpicture.jpg
Time delay 5000, Raw no
--snip--
使用 -v 选项获取详细输出, -o 选项指定文件名。使用 ls -l 命令可查看文件:
pi@raspberrypi: ls -l
total 2452
drwxr - xr - x 2 pi pi 4096 Mar 18 2019 Desktop
drwxr - xr - x 2 pi pi 4096 Mar 18 2019 Documents
drwxr - xr - x 2 pi pi 4096 Mar 18 2019 Downloads
- rw - r -- r -- 1 pi pi 2472219 Mar 18 2019 firstpicture.jpg
drwxr - xr - x 2 pi pi 4096 Mar 18 2019 Music
drwxr - xr - x 2 pi pi 4096 Mar 18 2019 Pictures
--snip--
3. MySQL/MariaDB 数据库信息提取
3.1 MySQL/MariaDB 概述
MySQL 是数据库驱动的 Web 应用程序中最常用的数据库。在 Web 2.0 时代,几乎每个网站都由数据库驱动,MySQL/MariaDB 存储着大部分网络数据。数据库是黑客的目标,因为其中包含用户的关键信息和信用卡号等机密信息。MySQL 和 MariaDB 是开源的,遵循通用公共许可证(GPL),几乎所有 Linux 发行版都预装了其中至少一个。许多流行的网站和内容管理系统(如 WordPress、Facebook、Joomla 等)都使用 MySQL。
3.2 MySQL 的发展历程
MySQL 于 1995 年由瑞典的 MySQL AB 开发,2008 年被 Sun Microsystems 收购,2009 年 Sun Microsystems 又被 Oracle 收购,所以现在 MySQL 归 Oracle 所有。由于 Oracle 是全球最大的数据库软件发行商,开源社区担心 Oracle 对 MySQL 开源的承诺,因此出现了名为“Maria”的 MySQL 数据库软件分支,致力于保持该软件及其后续版本的开源性。
3.3 启动 MySQL 或 MariaDB
Kali 系统已预装 MySQL 或 MariaDB,若使用其他发行版,可从软件仓库或 https://www.mysql.com/downloads/ 直接下载安装。启动服务的命令如下:
kali >service mysql start
登录并认证,输入以下命令,提示输入密码时直接按回车键:
kali >mysql -u root -p
Enter password:
Welcome to MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.30 - 1 (Debian)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement
mysql >
默认配置下,MySQL 或 MariaDB 的 root 用户密码为空,这是个重大安全漏洞,首次登录后应设置密码。
3.4 SQL 常用命令
SQL 是用于与数据库交互的解释型编程语言,数据库通常是关系型数据库,数据存储在多个相互关联的表中,每个表有列和行。常见 SQL 命令如下:
| 命令 | 作用 |
| ---- | ---- |
| select | 用于检索数据 |
| union | 用于合并两个或多个 select 操作的结果 |
| insert | 用于添加新数据 |
| update | 用于修改现有数据 |
| delete | 用于删除数据 |
可为每个命令添加条件以更精确地操作,例如:
select user, password from customers where user = 'admin';
该命令将返回 customers 表中 user 值为 admin 的用户的 user 和 password 字段的值。
3.5 设置 MySQL root 用户密码
3.5.1 查看现有用户
mysql >select user, host, password from mysql.user;
+----------------------------------------------------------------------------
| user | host | password
+----------------------------------------------------------------------------
|root |localhost |
--snip--
结果显示 root 用户未设置密码。
3.5.2 查看可用数据库
mysql >show databases;
+-------------------------------+
| Database |
+-------------------------------+
| information_schema |
| mysql |
| performance_schema |
+-------------------------------+
3 rows in set (0.23 sec)
MySQL 默认有三个数据库,其中 information_schema 和 performance_schema 是管理数据库,这里使用非管理数据库 mysql 。
3.5.3 连接到 mysql 数据库并设置密码
mysql >use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql >update user set password = PASSWORD("hackers - arise") where user = 'root';
此命令将 root 用户的密码设置为 hackers - arise 。
3.6 访问远程数据库
访问本地 MySQL 数据库的语法如下:
kali >mysql -u <username> -p
若未指定主机名或 IP 地址,默认使用本地 MySQL 实例。访问远程数据库时,需提供托管 MySQL 数据库的系统的主机名或 IP 地址,例如:
kali >mysql -u root -p 192.168.1.101
此命令将连接到 192.168.1.101 上的 MySQL 实例并提示输入密码。登录成功后,可使用以下命令查看可用数据库:
mysql >show databases;
+-------------------------------+
| Database |
+-------------------------------+
| information schema |
| mysql |
| creditcardnumbers |
| performance_schema |
+-------------------------------+
4 rows in set (0.26 sec)
假设发现了名为 creditcardnumbers 的数据库,连接到该数据库的命令如下:
mysql >use creditcardnumbers;
Database changed
3.7 查看数据库表信息
连接到 creditcardnumbers 数据库后,可使用以下命令查看数据库中的表:
mysql >show tables;
+-----------------------------------+
| Tables_in_creditcardnumbers |
+-----------------------------------+
| cardnumbers |
+-----------------------------------+
1 row in set (0.14 sec)
结果显示该数据库只有一个表 cardnumbers 。使用 describe 语句查看表结构:
mysql >describe cardnumbers;
+---------------+--------------+---------+-----------+---------+---------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+---------+-----------+---------+---------+
| customers | varchar(15) | YES | | NULL | |
| address | varchar(15) | YES | | NULL | |
| city | varchar(15) | YES | | NULL | |
| state | varchar(15) | YES | | NULL | |
| cc | int(12) | NO | | 0 | |
+---------------+--------------+---------+-----------+---------+---------+
通过以上步骤,我们完成了从网站搭建基础操作到树莓派监控系统搭建,再到 MySQL/MariaDB 数据库信息提取的一系列技术服务的使用与挖掘。这些技术在不同领域都有重要应用,同时也提醒我们要重视数据安全和系统安全。
3.8 数据提取与分析思路
在了解了数据库的表结构后,我们就可以根据需求从表中提取数据进行分析。例如,如果我们想要获取所有客户的信息,可以使用 select 命令:
mysql >select * from cardnumbers;
这个命令会返回 cardnumbers 表中的所有行和列的数据。如果我们只想要获取客户的姓名和信用卡号,可以使用以下命令:
mysql >select customers, cc from cardnumbers;
为了更精确地提取数据,我们可以添加条件。比如,我们只想要获取居住在某个城市的客户信息,可以使用 where 子句:
mysql >select * from cardnumbers where city = 'New York';
3.9 数据修改与删除操作
除了提取数据,我们还可以对数据库中的数据进行修改和删除操作。例如,如果某个客户的地址发生了变更,我们可以使用 update 命令来更新数据:
mysql >update cardnumbers set address = '123 New St' where customers = 'John Doe';
这个命令会将 customers 为 John Doe 的客户的地址更新为 123 New St 。
如果我们想要删除某个客户的信息,可以使用 delete 命令:
mysql >delete from cardnumbers where customers = 'John Doe';
需要注意的是,删除操作是不可逆的,在执行之前一定要谨慎考虑。
3.10 数据库备份与恢复
为了防止数据丢失,我们需要定期对数据库进行备份。在 MySQL 中,可以使用 mysqldump 命令来备份数据库。例如,备份 creditcardnumbers 数据库的命令如下:
kali >mysqldump -u root -p creditcardnumbers > creditcardnumbers_backup.sql
这个命令会将 creditcardnumbers 数据库的所有数据和结构导出到 creditcardnumbers_backup.sql 文件中。
如果需要恢复数据库,可以使用以下命令:
kali >mysql -u root -p creditcardnumbers < creditcardnumbers_backup.sql
4. 技术应用总结与安全建议
4.1 技术应用总结
本文介绍了多个重要的技术应用,包括网站搭建基础操作、树莓派监控系统搭建以及 MySQL/MariaDB 数据库信息提取。这些技术在不同领域都有广泛的应用:
- 网站搭建 :可以用于创建个人博客、企业网站等,为信息传播和业务展示提供平台。
- 树莓派监控系统 :可用于家庭安防、环境监测等领域,实现远程监控和数据采集。
- 数据库信息提取 :对于数据分析、数据挖掘等工作至关重要,帮助企业和组织从海量数据中获取有价值的信息。
4.2 安全建议
在使用这些技术的过程中,安全问题不容忽视。以下是一些安全建议:
- 设置强密码 :无论是树莓派的登录密码还是 MySQL 的用户密码,都要设置足够复杂的密码,避免使用默认密码或简单密码。
- 定期更新系统和软件 :及时安装系统和软件的更新补丁,修复已知的安全漏洞。
- 限制访问权限 :对于树莓派和数据库,只允许授权的用户访问,避免非授权用户获取敏感信息。
- 数据加密 :对于敏感数据,如信用卡号等,要进行加密存储和传输,防止数据泄露。
4.3 操作流程总结
为了更清晰地展示整个技术应用的操作流程,以下是一个 mermaid 流程图:
graph LR
A[网站搭建] --> B[添加 HTML 代码]
B --> C[保存文件并覆盖]
C --> D[访问网站查看效果]
E[树莓派监控系统搭建] --> F[准备树莓派及配件]
F --> G[安装 Raspbian 系统]
G --> H[启用 SSH 服务]
H --> I[安装相机模块]
I --> J[获取树莓派 IP 地址]
J --> K[通过 SSH 连接树莓派]
K --> L[配置相机]
L --> M[开始拍照监控]
N[MySQL/MariaDB 数据库操作] --> O[启动服务并登录]
O --> P[设置密码]
P --> Q[访问远程数据库]
Q --> R[查看数据库和表信息]
R --> S[提取、修改和删除数据]
S --> T[备份和恢复数据库]
通过以上的总结和建议,希望读者能够更好地应用这些技术,并保障系统和数据的安全。在实际操作中,要不断学习和探索,根据具体需求进行灵活调整和优化。
超级会员免费看
1999

被折叠的 条评论
为什么被折叠?



