网络安全以及常见的网络攻击
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全以及常见的网络攻击相关的知识,希望对你有一定的参考价值。
sql注入
通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
防止sql注入,我们应该注意:
1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等。
2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装,把异常信息存放在独立的表中。
处理办法:
1.通过正则表达校验用户输入,过滤掉可能的 sql注入
2.通过参数化存储过程进行数据查询存取
3.参数化SQL语句
……
xss攻击:跨站脚本攻击
它是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了html以及用户端脚本语言。
常用的XSS攻击手段和目的有:
- 盗用cookie,获取敏感信息。
- 利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
- 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
- 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
- 在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。
漏洞防御:
1.过滤特殊字符:避免XSS的方法之一主要是将用户所提供的内容进行过滤,许多语言都有提供对HTML的过滤:php的htmlentities()或是htmlspecialchars()
2.使用HTTP头指定类型:避免输出的内容被作为HTML解析。
<?php header(‘Content-Type: text/javascript; charset=utf-8‘); ?>
CSRF攻击:跨站请求伪造
以上是关于网络安全以及常见的网络攻击的主要内容,如果未能解决你的问题,请参考以下文章