网站安全问题(待补充)

一、网站有哪些安全问题

1、网站程序问题

网站程序是个大问题,假如程序挑选的不对,被侵略的时机非常大。许多网站都是下载一些免费开源的源码来做网站的,此类型网站有2种情况。

  下载一个毫无闻名度的免费源码,此类的免费源码被侵略的可能性超越百分之99,由于免费,使用者少,开发者更不会去完善缝隙,更不会去晋级,导致此类网站逐步的会呈现缝隙,所以,即便我们要挑选开源免费的程序,一定要挑选闻名度比较高的。

2、网站的空间/服务器

许多网站都是购买比较廉价的空间,此类网站的安全功能最差,假如卖空间的人盈余很低,更何谈帮你保护服务器安全功能。更不谈什么稳定性,所以很简单就被侵略,假如购买的是独立服务器或VPS,应该要配一个专业的技术保护人员,要装备服务器的安全,设置服务器文件的权限,假如网站主没办法延聘专业人员,更应该外包给技术人员,由于一个文件夹权限过错都可能导致整个服务器瘫痪而被侵略。

3、后台途径以及账号暗码

网站优化今日就帮客户保护一个网站,他的后台途径是/ADMIN 账号是admin 密码是admin123,此类网站假如不被侵略,那都是古怪的工作了。即便网站程序和网站空间装备的多么好,后台的途径更不应该是群众式的后台途径,账号和暗码也是最通用的,假如黑客用服务器进行扫或测验登陆后台,很简单就让他们达到目的,侵略都是垂手可得的工作了。所以我们后台途径要设置好,账号尽量不要用admin,暗码也不要用常用的。尽量有大小写字母的组合!

4、拖库

本来是数据库领域的术语,指从数据库中导出数据。到了黑客攻击泛滥的今天,它被用来指网站遭到入侵后,黑客窃取其数据库。

拖库可以通过数据库安全防护技术解决,数据库安全技术主要包括:数据库漏扫、数据库加密数据库防火墙数据脱敏数据库安全审计系统

5、嗅探器

 

6、链接前辍有无非法脚本,以及内部传入的Cookie

看到一个网页链接,无论是http还是https前缀的链接,先要思考会不会不安全,有没有非法脚本啥的,非法资源冒用,要有安全的心态

打开一个HTTPS网页,先看看和以前保存的证书是否一致,不一致就退出。再看看Cookie,除了临时的会话Cookie,还有没有永久的Cookie,手动清除所有Cookie。

7、DDOS攻击(Distributed Denial of Service 分布式拒绝服务器)

一般来说是指攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。在线游戏、互联网金融等领域是 DDoS 攻击的高发行业

  如何防御DDOS攻击

              高防服务器(独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等)缺点:贵

              黑名单(设置黑名单,防止相似地址入侵)缺点:影响正常用户,会影响正常业务

              DDoS清洗(对用户进行实时监控,及时发现DOS攻击等异常流量,在不影响正常业务的情况下清理这些异常流量)

              CDN加速(CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。)

二、SQL注入!

1、什么是SQL注入

答、SQL的意思就是结构化的查询语言,

       注入就是把攻击者将恶意的SQL查询或添加语句插入到应用的输入参数中,再在后台的Sql服务器中解析SQL语句中所执行的攻击

2、常用软件的框架

       业务应用的三层架构(分层式结构,更好的高内聚低偶合):

界面层、

业务逻辑层、

数据访问层

       数据库驱动的Web应用程序也从三层架构思想分为了三层:

表示层、

业务逻辑层(又称领域层)、

数据访问层(又称存储层)

       在上图中,用户访问实验楼主页进行了如下过程:

  • 在 Web 浏览器中输入 www.shiyanlou.com 连接到实验楼服务器。
  • 业务逻辑层的 Web 服务器从本地存储中加载 index.php 脚本并解析。
  • 脚本连接位于数据访问层的 DBMS(数据库管理系统),并执行 Sql 语句。
  • 数据访问层的数据库管理系统返回 Sql 语句执行结果给 Web 服务器。
  • 业务逻辑层的 Web 服务器将 Web 页面封装成 HTML 格式发送给表示层的 Web 浏览器。
  • 表示层的 Web 浏览器解析 HTML 文件,将内容展示给用户。

在三层架构中,所有通信都必须要经过中间层,简单地说,三层架构是一种线性关系

3、SQL注入产生原因及威胁

当我们访问动态网页时,Web应用层权限验证通过执行查询的SQL语句,而恶意用户通过恶意的SQL语句,内部参数又未通过数据审查,就会把此恶意SQL语句返回出去,则会出现意向不到的危险

       主要威胁:

              猜解后台数据库,盗取网站敏感信息;

              绕过验证登陆网站后台;

              注入SQL语句借助数据库的存储过程进行提权等操作

       最常用的判断网站是否有SQL注入漏洞的方法:

              在参数后面加单引号

4、SQL注入类型

按照注入点类型来分

a)      数字型注入点

b)      字符型注入点

c)      搜索型注入点

按照数据提交方式来分类

d)      GET注入

e)      POST注入

f)       Cookie注入

g)      HTTP头部注入

按照执行效果来分类

h)      基于布尔的盲注(根据页面返回判断条件的注入)

i)       基于时间的盲注(页面返回无法得到想要的信息,用条件语句查看时间延迟语句是否执行来判断)

j)       基于报错注入(页面返回错误信息或者返回查询错误语句)

联合查询注入

5、SQL注入防御

1、采用sql语句预编译和绑定变量,是防御sql注入的最佳方法

2、不是所有场景都能够采用 sql语句预编译,有一些场景必须的采用 字符串拼接的方式,此时,我们严格检查参数的数据类型,还有可以使用一些安全函数,来防止SQL注入。

3、检测URL长度进行防御

4、拦截非法URL

5、对用户输入进行过滤,进行转义

6、避免在生产环境中直接输出错误信息

7、严格执行数据库权限管理

8、对用户敏感信息进行加密处理

                                                                                                             

posted @ 2019-12-25 23:25  丁天峰  阅读(193)  评论(0编辑  收藏  举报