首页 > 其他分享 >常见web漏洞

常见web漏洞

时间:2024-07-18 20:29:00浏览次数:10  
标签:web 文件 常见 用户 漏洞 攻击者 服务器 上传

一、SQL注入

漏洞描述:

SQL注入是一种攻击手法,利用到了“应用程序通过合并用户提交的数据进行建立SQL语句”中的弱点,若应用程序收到用户输入时直接放入SQL语句,没有过滤敏感字符串,导致参数直接进入SQL查询语句,导致恶意攻击者通过漏洞可以获取数据库相关信息,包括数据库用户权限,数据库服务器版本以及数据库名称。

修复意见:

1、使用黑名单,对存在漏洞的参数进行检查,过滤特殊字符,如单引号、双引号、SQL关键字(or、and)等。
2、使用白名单,正则匹配技术,对参数的合法性进行严格过滤,比如,数值类型的参数不可能出现字符串;字符串类型的数据,长度限制在特定个字符长度内。
3、使用参数检查的方式,拦截带有SQL语法的参数传入应用程序。
4、当访问数据库时,应用程序应尽可能使用最低权限账户,多个不同应用程序使用同一数据库,应该为每个应用分配不同账户。

二、Openfire身份认证绕过漏洞

漏洞描述:

十多年前,Openfire 管理后台中曾被发现一处路径穿越漏洞,CVE-2008-6508。攻击者可以利用/setup/setup-/../../[page].jsp来绕过权限校验并访问任意后台页面。从那以后,Openfire 增加了对于路径穿越问题的防护策略,用以抵御这个漏洞。但是因为后来内置的 Web 服务器的升级,引入了对 UTF-16 字符支持的非标准 URL,而前面的防护策略并没有考虑到这一点。在 Openfire 版本 4.7.4 和 4.6.7 及以前,Openfire 的 Web 管理后台存在一处目录穿越漏洞,这将允许攻击者绕过权限校验访问所有受限页面。

修复意见:

升级至最新版本

三、敏感数据泄露

漏洞描述:

攻击者不是直接攻击密码,而是在传输过程中或从客户端(例如:浏览器)窃取密钥、发起中间人攻击,或从服务器端窃取明文数据。这通常需要手动攻击。通过使用图形处理单元(GPU),早前检索的密码数据库可能被暴力破解。

修复意见:

1.对系统处理、存储或传输的数据分类,并根据分类进行访问控制。
2.对于没必要存放的、重要的敏感数据,应当尽快清除,或者通过PCI DSS标记或拦截。未存储的数据不能被窃取。
3.确保存储的所有敏感数据被加密。
4.确保使用了最新的、强大的标准算法或密码、参数、协议和密匙,并且密钥管理到位。
5.确保传输过程中的数据被加密,如:使用安全传输层协议(TLS)。确保数据加密被强制执行,
禁止缓存对包含敏感数据的响应。
6.确保使用密码专用算法存储密码,如:Argon2 、 scrypt 、bcrypt 或者PBKDF2 。将工作因素(延迟因素)设置在可接受范围。

四、路径穿越漏洞

漏洞描述:

路径穿越漏洞,攻击者可以利用/%2e%2e/来跨越到根目录,读取或执行目标服务器上任意文件。

修复意见:

禁止目录穿越

五、SSRF漏洞

漏洞描述:

攻击者通过获取密钥任意构造token,请求/resourceOperations/upload接口存在SSRF漏洞,SSRF形成的原因由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

修复意见:

1.修改secretkey
2.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果Web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
3.统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
4.限制请求的端口为HTTP常用的端口,比如:80,443,8080,8090。
5.黑名单内网IP。避免应用被用来获取获取内网数据,攻击内网。
禁用不需要的协议。仅仅允许HTTP和HTTPS请求。可以防止类似于file:///,gopher://,ftp://等引起的问题。

六、登录绕过漏洞

漏洞描述:

由于系统使用前端登录校验,通过对js文件进行修改判断登录是否成功的条件,从而无需账户密码即可进行登录。

修复意见:

使用后端进行登录校验

七、目录遍历漏洞

漏洞描述:

目录遍历(路径遍历)是由于web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以使web根目录以外的文件),甚至执行系统命令。读取的文件可能包括应用程序代码和数据、后端系统的凭据以及敏感的操作系统文件等。在某些情况下,攻击者可能能够写入服务器上的任意文件,从而允许他们修改应用程序数据或行为,并最终完全控制服务器
程序在实现上没有充分过滤用户输入的…/之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。  

修复意见:

对用户的输入进行验证,特别是路径替代字符如“…/”和“~/”。
获取文件路径,过滤文件路径参数,如…/ 、 …\ 、 ./ 等跳转路径
尽可能采用白名单的形式,验证所有的输入。
对文件后缀白名单校验:
图片类型 .jpg .png .gif .jpeg .dwg
文档类型 .doc .docx .ppt .pptx .xls .xlsx .pdf
合理配置Web服务器的目录权限。
当程序出错时,不要显示内部相关配置细节。
对用户传过来的文件名参数进行统一编码,对包含恶意字符或者空字符的参数进行拒绝。
对上传文件校验文件大小
对上传文件重命名
获取文件路径,判断是否在预期目录
对客户端不直接暴露路径,使用文件ID代替文件名和文件路径

八、XSS攻击漏洞

漏洞描述:

定义/原理:跨站脚本(Cross-Site Scripting),本应该缩写为CSS,但是该缩写已被层叠样式脚本Cascading Style Sheets所用,所以改简称为XSS。也称跨站脚本或跨站脚本攻击。跨站脚本攻击XSS通过将恶意得Script代码注入到Web页面中,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
本质:是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种 。
特点:XSS主要基于JavaScript完成恶意的攻击行为,由于JS可以非常灵活地操作html、css和浏览器,使得跨站脚本攻击的“想象”空间特别大。
攻击对象:被攻击者的浏览器。用户最简单的动作就是使用浏览器上网,并且浏览器中有javascript解释器,可以解析javascript,然后浏览器不会判断代码是否恶意,也就是说xss的对象是用户的浏览器。
一般的攻击过程:
攻击者将恶意代码注入到服务器中(如论坛、留言板、邮件等);
用户在没有防备的情况下访问了被注入了恶意代码的服务器;
服务器将含有恶意代码的网页响应给客户端;
在客户端浏览器中触发JS恶意代码。

修复意见:

1.使用自动转义XSS的框架,比如React JS。学习每种框架的XSS保护,并手动处理用例没有覆盖到的部分。
2.转义不可信的HTTP请求数据能够解决反射型和存储型XSS威胁。
3.在客户端修改浏览器文档时应用内容敏感的编码以抵御DOM XSS。或使用相似的内容敏感转义技术。
4.启用CSP(Content Security Policy),这是一种对抗XSS的纵深防御弥补控制。

九、任意文件上传

漏洞描述:

任意文件上传(Unrestricted File Upload),是一种常见的web安全漏洞,由于web应用程序在实现文件上传功能是对上传的文件缺少必要的检查,使得攻击者可上传任意文件。利用该漏洞,攻击者可以直接上传webshell(webShell 就是以asp\php\jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门)、病毒、恶意脚本等各种危险文件,可能导致服务器权限被直接获取,从而危及整个系统的安全运行。

修复意见:

  1. 校验文件格式,对上传的文件后缀进行判断,如果是上传头像处,仅允许jpg、png、gif等图片文件格式上传,而且对图片进行二次渲染,防止黑客利用解析漏洞来getshell。
  2. 校验文件大小,限制过大文件上传。
  3. 重命名上传文件。

十、任意文件读取下载

漏洞描述:

由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。

修复意见:

  1. 过滤".",使用户在url中不能回溯上级目录
  2. 正则严格判断用户输入参数的格式
  3. php.ini配置open_basedir限定文件访问范围
  4. 设置白名单,即只能下载/访问某个目录下的文件,权限给到最低。

标签:web,文件,常见,用户,漏洞,攻击者,服务器,上传
From: https://blog.csdn.net/weixin_60838266/article/details/140503754

相关文章

  • (新)app逆向四(常见加密算法)
    加密的分类1、单向加密:MD5、sha系列不可逆2、对称加密:AES、DES3、非对称加密:RSA、DSA4、补充算法:base641.md5importhashlibm=hashlib.md5()m.update('helloworld'.encode("utf8"))print(m.hexdigest())2.shaimporthashlibsha1=hashlib.sha1()data='hellow......
  • 前端WebSocket的方法封装
    一、封装方法在项目根目录src下的utils中新增webSocketManager.js封装文件,代码内容如下://webSocketManager.js/**WebSocketMessenger封装类*/classWebSocketManager{constructor(url=null,userId=null,receiveMessageCallback=null){this.socket=nul......
  • npm/yarn/pnpm install失败:ERR_PNPM_NO_VERSIONS No versions available for uWebSock
    ERR_PNPM_NO_VERSIONS NoversionsavailableforuWebSockets.js.Thepackagemaybeunpublished.我在新项目中想要切换包管理器从yarn到pnpm的时候,删除node_modules和yarn.lock之后,pnpminstall竟然提示这个包可能没发布。我觉得这个不可能,都需要使用了,怎么可能没发......
  • JavaWeb笔记_Response对象
    一.Response对象1.1Response对象概述a.专门负责给浏览器响应信息(响应行,响应头,响应体)的对象b.我们主要使用的是跟HTTP协议相关的Response对象:HTTPServletResponse,继承了ServletResponse,扩展了ServletResponse接口,提供了更多的方法,例如可以操作响应头,cookie等1.2Response......
  • JMX 反序列化漏洞
    前言前段时间看到普元EOSPlatform爆了这个洞,ApacheJames,Kafka-UI都爆了这几个洞,所以决定系统来学习一下这个漏洞点。JMX基础JMX前置知识JMX(JavaManagementExtensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作......
  • Python web自动化爬虫-selenium/处理验证码/Xpath
    #coding:utf-8importtimeimportrandomfromtimeimportsleepfromcsvimportwriterfromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromchaojiyingimportChaojiying_Clientfromselenium.webdriverimportActionChainsdriver......
  • SpiderFlow RCE漏洞(CVE-2024-0195)
    0x01前言SpiderFlow是新一代开源爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。基于springboot+layui开发的前后端不分离,也可以进行二次开发。该系统/function/save接口存在RCE漏洞,攻击者可以构造恶意命令远控服务器。影响范围:Upto(including)<=0.5.0漏......
  • Hypertale集群常见问题
    Hypertale集群常见问题1.启动: 1)Master: 问题1; ERRORHypertable.Master: main(/home/wl/src/hypertable/src/cc/Hypertable/Master/main.cc:293): Hypertable::Exception:Errorreadingmetalogfile:/hypertable/servers/master/log/mml/0:read7169/7169......
  • 【web]-php反序列化-复杂1(转)
    转自:PHP反序列化-CSDN博客反序列化漏洞是基于序列化和反序列化的操作,在反序列化——unserialize()时存在用户可控参数,而反序列化会自动调用一些魔术方法,如果魔术方法内存在一些敏感操作例如eval()函数,而且参数是通过反序列化产生的,那么用户就可以通过改变参数来执行敏感操作......
  • 实现基于Spring Boot和WebSockets的实时通讯应用
    实现基于SpringBoot和WebSockets的实时通讯应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!实时通讯应用在现代互联网服务中越来越重要。使用WebSocket可以实现客户端和服务器之间的双向通讯,从而大大提高实时性。本文将介绍如何使用SpringBoot和Web......