二、Web安全防范

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,
在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
措施:
1)对进入数据库的特殊字符(’,”,\,<,>,&,*,; 等)进行转义处理,或编码转换
2)后端代码检查输入的数据是否符合预期
3)有的查询语句建议使用数据库提供的,参数化查询接口,不要直接拼接 SQL 语句。
4)严格限制变量的类型。

措施:
1)设置 HTTP Header: "X-XSS-Protection: 1"
2)对所有的数据进行适当的编码
3)使用自动转义XSS的框架,比如学习每种框架的XSS保护,并手动处理用例没有覆盖到的部分。
4)从客户端和服务器端双重验证所有的输入数据,这一般能阻挡大部分注入的脚本
5)启用CSP(Content Security Policy),这是一种对抗XSS的纵深防御弥补控制。

攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,
所以被访问的网站会认为是真正的用户操作而去运行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。
措施:
1)检查标准头部,确定请求是否同源,检查 source origin 和 target origin,然后比较两个值是否匹配。
2)检查 CSRF Token
A、在表单里隐藏一个随机变化的 token,每当用户提交表单时,将这个 token 提交到后台进行验证,如果验证通过则可以继续执行操作
B、向服务器发出请求时,生成一个随机值,将这个随机值既放在 cookie 中,也放在请求的参数中,服务器同时验证这两个值是否匹配
C、 对token 进行加密
D、使用自定义请求头部,"X-Requested-With: XMLHttpRequest"。

1)针对IP+cookie,限制访问频率
2)防火墙等防护设置禁止 ICMP 包等
3)严格限制对外开放的服务器的向外访问

应用中负责认证和会话管理的部分没有正确实现,使得攻击者得以泄露密码,⼝令或令牌,进而可能获取其他用户的身份。
原因:
1)允许默认,弱,广为人知的密码, 例 “admin/admin”。
2)使用弱,或无效的凭据恢复和忘记密码策略。
3)使用明文,加密或弱hash的密码。
4)使用损坏的或无效的多因子认证。
5)在URL中暴露会话ID。
6)没有及时把会话ID,验证令牌等信息⽆效化。
措施:
1)实现多因子认证以组织自动化攻击和凭据重用。
2)避免使用默认密码。
3)进行弱密码检查。
4)对齐密码长度,复杂度。
5)确保注册,凭据恢复和API被加固以抵御账户枚举攻击。
6)限制或延迟失败的登录尝试,并记录所有失败尝试并在发动攻击时报警。
7)使用服务端,安全,内置的会话管理,确保对于每次登陆生成随机会话ID。会话ID不应该在URL中,且应该及时销毁

攻击者不是直接攻击密码,而是在传输过程中或从客户端(例如:浏览器)窃取密钥、发起中间人攻击,或从服务器端窃取明文数
据。这通常需要手动攻击。通过使用图形处理单元(GPU),早前检索的密码数据库可能被暴力破解。
措施:
1)对系统处理、存储或传输的数据分类,并根据分类进行访问控制
2)对没必要存放的、重要的敏感数据,应当尽快清除,
3)确保存储的所有敏感数据被加密
4)确保传输过程中的数据被加密,如:https
5)确保使用最新、强大的标准算法或密码、参数、协议和秘钥

越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或操作其他
用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增删改查时对客户端请求的数据过分相信而遗漏了权限判定。主要分为水平越权访问和垂直越权访问。
措施:
1)前后端同时对用户输入信息进行校验,双重验证机制
2)调用功能前验证用户是否有权限调用相关功能
3)执行关键操作前验证用户身份,是否具备操作数据的权限
4)对可控参数进行严格的检查和过滤

日志和监控不足,再加上缺失或无效的事件响应,允许攻击者进一步攻击系统,他可以转向更多系统,进行篡改,提取,销毁数据。大部分研究表明违反往往会在超过200天后才被检测出来,而且还是由外部参与者检测到的。
措施:
1)确保登录,访问控制失败,服务断输入验证失败等事件会被日志记录,同时记录足够多的用户上下文以确定可疑账号。保存足够长的时间用于分析。
2)确保日志以一定格式生成,便于日志管理。
3)建立有效的监管和报警机制,使得可疑活动被及时检测和响应。
4)建立事件响应和恢复计划。

点击劫持 (Clickjacking) 技术又称为界面伪装攻击 (UI redress attack ),是一种视觉上的欺骗手段。攻击者使一个或多个透明的iframe 覆盖在一个正常的网页上,然后诱使用户在该网页上进行操作,
当用户在不知情的情况下点击透明的 iframe 页面时,用户的操作已经被劫持到攻击者事先设计好的恶意按钮或链接上。攻击者既可以通过点击劫持设计一个独立的恶意网站,执行钓鱼攻击等
措施:
1)X-FRAME-OPTIONS,是目前最可靠的方法。X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持共计。并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。
这个头有三个值:
DENY // 拒绝任何域加载
SAMEORIGIN // 允许同源域下加载
ALLOW-FROM // 可以定义允许iframe加载的页面地址

任意文件上传(Unrestricted File Upload),是一种常见的web安全漏洞,由于web应用程序在实现文件上传功能是对上传的文件缺少必要的检查,使得攻击者可上传任意文件。
利用该漏洞,攻击者可以直接上传webshell(webShell 就是以asp\php\jsp或者cgi等,网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门)、病毒、恶意脚本等各种危险文件,
可能导致服务器权限被直接获取,从而危及整个系统的安全运行。
措施:
1)校验文件格式,对上传的文件后缀进行判断,如果是上传头像处,仅允许jpg、png、gif等图片件格式上传,而且对图片进行二次渲染,防止黑客利用解析漏洞来getshell。
2)校验文件大小,限制过大文件上传。
3)重命名上传文件。
任意文件读取下载,由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。
措施:
1)过滤".",使用户在url中不能回溯上级目录。
2)正则严格判断用户输入参数的格式。
3)设置白名单,即只能下载/访问某个目录下的文件,权限给到最低。
4)后台配置限定文件访问范围

原文链接:https://blog.csdn.net/qq_24892029/article/details/125179187

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18062

(0)
上一篇 2023年10月27日
下一篇 2023年10月28日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml