学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
使用参数化查询、限制数据库用户权限、避免使用动态 SQL、过滤输入数据和输出数据等。
假设我们要使用参数化查询来查询一个学生表中的所有名字为“张三”的学生,我们可以按照以下步骤来实现参数化查询:
- 创建一个数据库连接并获取游标
```python
import sqlite3
conn = sqlite3.connect('student.db')
cursor = conn.cursor()
2. 编写 SQL 查询语句,并使用占位符 ? 来表示需要传入的参数
query = "SELECT * FROM student WHERE name = ?"
3. 执行查询操作,并将参数传入查询语句中
name = '张三'
cursor.execute(query, (name,))
其中,参数需要以元组的形式传入,即使只有一个参数也需要加上逗号。
4. 获取查询结果并打印
result = cursor.fetchall()
print(result)
完整代码如下:
import sqlite3
conn = sqlite3.connect('student.db')
cursor = conn.cursor()
query = "SELECT * FROM student WHERE name = ?"
name = '张三'
cursor.execute(query, (name,))
result = cursor.fetchall()
print(result)
cursor.close()
conn.close()
## 3. 防止系统漏洞:
使用最新的安全补丁和操作系统、配置防火墙和入侵检测系统(IDS)、禁用不必要的服务和端口、加强访问控制和密码策略等。
以下是一些常见的不必要的服务和端口:
1. Telnet服务 - 默认端口为23,这是一个远程登录服务,但它不安全,因为它在明文中传输密码。
2. FTP服务 - 默认端口为21,这是一个文件传输服务,但它也不安全,因为它在明文中传输文件和密码。
3. SMB服务 - 默认端口为139和445,这是一个Windows共享服务,但它容易受到攻击,因此应该限制访问权限。
4. RPC服务 - 默认端口为135,这是Windows系统中的远程过程调用服务,但它容易受到攻击,应该限制访问权限。
5. SNMP服务 - 默认端口为161和162,这是一个用于监控网络设备的服务,但它容易受到攻击,因此应该限制访问权限。
6. TFTP服务 - 默认端口为69,这是一个轻量级文件传输服务,但它不安全,因为它在明文中传输文件和密码。
以上服务和端口应该被关闭或限制访问权限,以提高系统的安全性。
以下是一些常见的 Windows 服务器安全设置,以及操作示例。
1. 更新操作系统和应用程序
首先,确保操作系统和所有应用程序都是最新的,以防止已知漏洞被利用。在 Windows 服务器上,可以使用以下步骤检查更新:
- 打开“控制面板” -> “Windows Update”。
- 点击“检查更新”按钮,等待系统检查可用更新。
- 如果有更新可用,点击“安装更新”按钮。
- 重启服务器以完成更新安装。
2. 启用防火墙
防火墙可以阻止未经授权的访问和攻击,因此应始终在 Windows 服务器上启用。以下是启用防火墙的示例步骤:
- 打开“控制面板” -> “Windows Defender 防火墙”。
- 点击“打开 Windows Defender 防火墙”按钮。
- 在“公用网络设置”和“专用网络设置”下,确保防火墙已启用。
- 如果需要,可以配置更详细的规则来控制应用程序和端口的访问。
3. 禁用不必要的服务和端口
不必要的服务和端口可能会导致安全漏洞,因此应该尽可能禁用它们。以下是操作示例:
- 打开“运行”对话框(按“Win + R”键)。
- 输入“services.msc”并按回车键打开“服务”窗口。
- 禁用不必要的服务,例如“远程注册表”,“Telnet”等。
- 打开“控制面板” -> “Windows 防火墙” -> “高级设置”。
- 点击“入站规则”和“出站规则”,禁用不必要的端口,例如“TCP 端口 135”。
4. 使用强密码
强密码可以降低被破解的风险。以下是一些创建强密码的示例规则:
- 包含数字、字母、符号。
- 长度至少 8 个字符。
- 不要使用字典单词或简单的序列(例如“123456”)。
5. 禁用默认帐户
默认帐户(例如“Administrator”)容易受到攻击,因此应该禁用或重命名。以下是禁用默认帐户的示例步骤:
- 打开“计算机管理器” -> “本地用户和组” -> “用户”。
- 右键点击默认帐户,例如“Administrator”,并选择“属性”。
- 在“常规”选项卡中,选中“账户已禁用”复选框,然后点击“确定”按钮。
6. 安装安全软件
安全软件可以帮助检测和防止恶意软件和攻击。以下是一些常见的安全软件:
- 防病毒软件,例如“Windows Defender”、“Norton”、“McAfee”等。
- 防火墙软件,例如“Comodo Firewall”、“TinyWall”等。
- 恶意软件检测和清除工具,例如“Malwarebytes”、“AdwCleaner”等。
## 4. 保护敏感信息:
使用 SSL 加密传输数据、使用加密算法存储密码和敏感数据、使用 HTTPS、禁用目录列表等。
存储密码时,应该使用密码哈希算法,而不是加密算法。哈希算法是一种单向转化算法,它可以将任意长度的输入数据转化为固定长度的输出数据。因此,哈希算法可以将密码转换为一个固定长度的哈希值。在进行验证时,将输入的密码进行哈希后,将结果与之前存储的哈希值进行比较即可。
下面是一个使用哈希算法进行密码存储和验证的示例(以 Python 语言为例):
import hashlib
# 存储密码
password = "mypassword"
hashed_password = hashlib.sha256(password.encode()).hexdigest()
# 将哈希值存储到数据库或文件中
# 验证密码
input_password = "mypassword"
input_hashed_password = hashlib.sha256(input_password.encode()).hexdigest()
if input_hashed_password == hashed_password:
print("密码验证通过")
else:
print("密码错误")
在实际应用中,为了增强密码的安全性,可以在哈希算法的基础上加入 salt 或 pepper。salt 是一个随机字符串,可以与密码混合后再进行哈希,以增加破解密码的难度。pepper 是一个固定字符串,可以在哈希之前或之后加入,以增强密码的安全性。
在 IIS 中禁用目录列表:
1. 打开 IIS 管理器并选择要禁用目录列表的站点或应用程序;
2. 在功能视图中,双击“目录浏览”;
3. 在右侧的操作面板中,单击“禁用目录浏览”。
在 Nginx 中禁用目录列表:
1. 打开 Nginx 配置文件;
2. 在服务器或位置段中,添加以下指令:`autoindex off;`;
3. 保存并重新加载 Nginx 配置文件。
这些操作都会禁用该站点或应用程序中的目录列表。
## 5. 加强访问控制:
本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
![](https://img-blog.csdnimg.cn/img_convert/311903982dea1d8a5d2c98fc271b5b41.jpeg)
### 学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
![](https://img-blog.csdnimg.cn/img_convert/1ddfaf7dc5879b1120e31fafa1ad4dc7.jpeg)
#### 网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份**我自己整理的网络安全入门工具以及使用教程和实战。**
![](https://img-blog.csdnimg.cn/img_convert/bcd1787ce996787388468bb227d8f959.jpeg)
#### 项目实战
最后就是项目实战,这里带来的是**SRC资料&HW资料**,毕竟实战是检验真理的唯一标准嘛~
![](https://img-blog.csdnimg.cn/img_convert/35fc46df24091ce3c9a5032a9919b755.jpeg)
#### 面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**