作者:信息安全专家李泉
0x1 前言
随着越来越多的服务和数据连上网络,Web信息安全已经是Web开发中一个重要的环节,然而许多开发者往往希望专注在应用程序的研发,而忽略了信息安全的重要性。
不过若是没有严谨地考虑信息安全的问题,等到事情发生后反而会造成更严重的财务和名誉上的损失。
本文希望整理一些 Web 常见信息安全(Security)的议题和学习资源与读者一起教学互动,下次架构网络服务时可以更留心 Web 的信息安全的关键点,甚至努力成为一个好的白帽黑客(White Hat Hacker)。
0x2 常见 Web 信息安全(Security)议题
一般而言 Web 信息安全(Security)需要符合三点安全要素:
保密性:透过加密等方法确保数据的保密性
完整性:要求用户取得的数据是完整不可被窜改的
可用性:保证网站服务的持续可访问性
以下列出常见影响 Web 信息安全(Security)的攻击手法:
1.SQL Injection
使用恶意的 SQL 语法去影响数据库内容:
使用者登录:
简易防范方式:不信任用户输入的数据,确保用户输入都要 escape 掉,目前许多成熟 Web 框架都有 ORM 服务,大部分都基本防范了 SQL Injection。
2.XSS(Cross-Site Scripting)
XSS 亦即将恶意代码注入到网页,让看到网页的使用者会受影响,常见的受灾用户包括论坛、讨论区等网络服务。
事实上 XSS 概念很简单,透过窗体输入建立一些恶意网址、恶意图片网址或是 JavsScript 程序代码在 HTML 中注入,当使用者观看页面时即会触发。
简易防范方式:不信任用户输入的数据,将所有输入内容编码并过滤。
作者:信息安全专家李泉 转载请注明
3.CSRF
CSRF 跨站请求伪造 又被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登入的 Web 应用程序上执行非本意的操作的攻击方法。
举百度百科上的例子:假如一家银行用以执行转账操作的URL地址如下:
那么,一个恶意攻击者可以在另一个网站上放置如下代码:
若是用户的登录信息尚未过期的话就会损失 10000 元的金额。
简易防范方式:
1.检查 Referer 字段
这是比较基本的验证方式,通常 HTTP 标头中有一个 Referer 字段,其应该和 Request 位置在同一个网域下,因此可以透过验证是否是在同一个网域来验证是否为恶意的请求,但会有被更改伪装的可能。
2.添加验证 token
一般现在许多的 Web Framework 都有提供在窗体加入由 Server 生成的随机验证 CSRF 的码,可以协助防止 CSRF 攻击。
4.DoS
Dos 阻断式攻击(Denial of Service Attack)又称为洪水攻击,是一种网络攻击手法,其目的在于使目标计算机的网络或系统资源耗尽,使服务暂时中断或停止,导致真正的使用者无法使用服务。
根据百科:DoS 攻击可以具体分成两种形式:带宽消耗型 以及 资源消耗型,它们都是透过大量合法或伪造的请求占用大量网络以及器材资源,以达到瘫痪网络以及系统的目的。
带宽消耗攻击又分洪泛攻击或放大攻击:洪泛攻击的特点是利用殭尸程序传送大量流量至受损的受害者系统,目的在于堵塞其带宽。
放大攻击和洪泛攻击类似,是通过恶意放大流量限制受害者系统的带宽;其特点是利用 僵尸程序通过伪造的源 IP(即攻击目标)向某些存在漏洞的服务器传送请求,服务器在处理请求后向伪造的源 IP 传送应答,由于这些服务的特殊性导致应答包比请求包更长,因此使用少量的带宽就能使服务器传送大量的 Response 到目标主机上。
资源消耗型又分为协议分析攻击(SYN flood,SYN 洪水)、LAND attack、CC 攻击、僵尸网络攻击、Application level floods(应用程序级洪水攻击)等。
简易防范方式:
防火墙
设定规则阻挡简单攻击
交换机
大多交换机有限制访问控制功能
路由器
大多路由器有限制访问控制功能
黑洞启动
将请求转到空接口或是不存在的位置
5.文件上传漏洞
许多网络应用程序可以让用户上传档案到服务器端,由于我们不知道使用者会上传什么类型的档案,若不留意就会造成很大的问题。
简单防范方式:
1.阻止非法文件上传
配置文件名白名单
文件标头判断
2.阻止非法文件执行
存储目录与 Web 应用分离
存储目录无执行权限
文件重命名
图片压缩
加密安全
有许多的网络服务有提供会员注册的服务,当使用者使用注册时注意不要将密码明码存入数据库。
若是你使用的服务会在忘记密码时寄明码密码给你很有可能该服务就是使用明码加密,此时就很容易会荣登我的密码没加密的网站。
不过尽管将密码加密也未必安全,像是网络上就存在一些破解网站、彩虹表 可以破解加密的密码。
所以通常我们会针对不同使用者使用随机产生的 salt 字符串来加盐后加密的方式来提高密码的强健性。
0x3 简易信息安全入侵流程
1.侦查(Reconnaissance)
攻击者准备攻击之前进行的调查,使用 Google 或是社交工程找寻目标的相关信息,以利之后的攻击
2.扫描(Scanning)
扫描目标主机的弱点,取得主机操作系统、服务和运作状况等相关信息
3.取得权限(Gaining Access)
利用系统弱点取得主机权限
4.维持权限(Maintaining Access)
维持目前取得的权限,以便日后再次存取而不需繁杂的步骤
5.清除足迹(Clearing Tracks)
清除入侵的痕迹
0x4 总结
以上整理一些 Web 常见信息安全(Security)的议题和学习资源和读者一起教学相长,成为一个好的白帽黑客(White Hat Hacker)。
随着网络科技的发展,信息安全的议题只会越来越重要,我将继续再接再厉学习更多的信息安全知识、为信息安全事业做一份贡献。
作者
李泉 梆梆安全研究院高级安全研究员
主要研究领域
互联网黑产、智能家居安全、终端安全等
我们:
ExploitLee
获取更多资讯
白帽黑客带你认识web信息安全
下一篇:返回列表