实验四、web安全
文章目录
- 实验四、web安全
- 一、实验目的及要求
- 二、实验学时
- 三、实验任务
- 四、实验重点、难点
- 五、实验过程:
- 1、web浏览器比如IE浏览器的安全技术手段有哪些?请尽可能列出来。
- 2、动态网页设计请采用使用C#.NET编写一个登录案例,本案例中防范SQL注入有哪些措施?写出详细的设计与实现过程。
- 3、上述登录案例中加验证码有什么好处?哪一种验证码相对安全?
- 4、在web安全有哪些安全措施?请尽可能列出来。
- 六、实验小结(100字左右)
一、实验目的及要求
1.熟悉浏览器安全的方法;
2.了解网页编程中SQL注入手段和防范措施;
3. 提升对动态网页设计安全的重视程度。
二、实验学时
2学时
三、实验任务
熟练掌握保障浏览器和“保障动态网页设计的安全技术”手段
四、实验重点、难点
“保障动态网页设计的安全技术”
五、实验过程:
1、web浏览器比如IE浏览器的安全技术手段有哪些?请尽可能列出来。
答:
1.白名单
2. 禁止或限制使用Java程序和ActiveX控件
3.保护个人信息不被泄露
4. 删除已访问的网址
5. 删除浏览过的网页记录
6. 永远无惧IE主页地址被篡改
7. 探索IE的本地安全配置选项
8. 在DOS操作系统下,打开“Internet属性”窗口。
9. 取消IE的内容过滤密码
10. 防范恶意代码入侵的网页
11. 精心管理Cookie
2、动态网页设计请采用使用C#.NET编写一个登录案例,本案例中防范SQL注入有哪些措施?写出详细的设计与实现过程。
答:
详细见我另一篇博客
使用C#.NET编写一个登录案例
以下是缩减版: 下为简化版
MySQL数据库设计:
插入数据:
项目设计:
Login.aspx
Login.aspx.cs
编写脚本以实现登录按钮功能:
页面测试:
成功登录:
SQL注入攻击是一种常见的网络安全威胁。
3、上述登录案例中加验证码有什么好处?哪一种验证码相对安全?
答:
可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,利用比较简易的方式实现了这个功能。
常见的验证码有:
图形验证码
短信验证码
语音验证码
滑动验证码
相对安全的验证码是指通过采集用户当前各种参数行为(如行为轨迹、操作时间、当前环境等等)来判断是否为机器行为。在用户体验方面,手机端不太建议使用选字类型的验证码,因为对于非大屏手机来说并不友好。而在安全性方面,这类验证码的破解成本要比其他验证码高。
4、在web安全有哪些安全措施?请尽可能列出来。
答:
HTTP基本认证
HTTP基本验证是一种由HTTP1.1规范定义的验证方式,它被广泛应用于保护资源的机制中。在浏览器请求受保护资源时,服务器会要求用户提供用户名和口令。只有当用户输入合法的用户名和口令时,服务器才会发送相应的资源。这种验证方式简单且常用,可有效确保资源安全性。
HTTP基本验证具有以下优点:易于实现,所有浏览器都支持。然而,它也存在一些缺点:由于用户名和密码未加密,而是使用Base64编码,因此不安全;此外,无法自定义对话框的外观。
HTTP Digest验证
这种验证被称为HTTP摘要验证,它以加密方式发送口令,并且与基本验证相比,在其他方面都是一样的,但更加全面。
HTTP摘要验证具有以下优点:相较于基本验证,它更安全。然而,它也存在一些缺点:只能在IE5以上版本中使用,并且许多Servlet容器不支持该功能,因为规范并未强制要求。
基于表单的验证
这种验证被称为基本表单验证,它类似于基本验证,但是使用用户自定义的表单来获取用户名和密码,而不是使用浏览器弹出对话框。开发人员需要创建一个包含表单的HTTP页面,并且可以根据需要自定义表单的外观。
基本验证表单具有以下优点:它得到了所有浏览器的支持,并且实现起来相对容易。此外,用户可以根据需要自定义登录页面的外观。然而,它也存在一些缺点:不够安全,因为用户名和密码没有经过加密处理。
验证HTTPS客户端
这种验证被称为客户证书验证,它使用HTTPS协议进行信息传输。HTTPS是在安全套接层(Secure Socket Layer, SSL)之上的HTTP协议,SSL可以确保在互联网上敏感数据传输时的保密性。在这种机制下,一旦浏览器和服务器建立了SSL连接,所有数据都会以加密的方式进行传输。
优点:它是四种验证类型中最安全的,所有主流浏览器都支持。 缺点:它需要一个由权威机构(如VeriSign)颁发的证书,并且实施和维护成本较高。
Sql注入是什么?
通过将SQL命令嵌入到Web表单提交、输入域名或页面请求的查询字符串中,最终实现欺骗服务器执行恶意的SQL命令。
防范SQL注入攻击:
以下是改写后的文案: 1、绝对不要轻信用户的输入,务必对其进行严格校验。可以采用正则表达式或限制长度等方式来确保安全性,并进行单引号和双引号的转义处理。
2、请避免使用动态拼装SQL语句,可以选择使用参数化的SQL语句或者直接调用存储过程来进行数据查询和存取操作。
3、请勿使用管理员权限的数据库连接,而是为每个应用程序分配独立且权限受限的数据库连接。
4、请勿以明文形式存储机密信息,请使用加密或哈希算法对密码和敏感信息进行处理。
“CSRF攻击是一种什么样的攻击?”
CSRF(Cross-Site Request Forgery)是一种网络攻击,全称为跨站请求伪造。简单来说,黑客通过诱使用户访问其恶意网站,并利用用户的登录状态发起跨站请求。
CSRF攻击的防护措施:
1、根据实际情况,将 Cookie 的 SameSite 属性设置为 Strict 或 Lax。
2、进行服务端验证以确认请求的来源(包括Referer和Origin)。
第三步,采用CSRF令牌的方式,服务端会生成一个随机的令牌,并将其返回给浏览器。
4、引入双重验证(独立的支付密码)
六、实验小结(100字左右)
本次实验学习了用c#开发登录界面,在开发过程中虽然有些许的困难,但最后不断学习,提升了。受益匪浅,也学习到sql攻击,今后数据库设计和后台代码编程将会更加注意信息安全这方面。本次实验学会了很多,期待下一次的实验。
还木有评论哦,快来抢沙发吧~