走进JavaWeb技术世界17:web安全攻防详解

[01]web安全渗透 01-02 基础 一、一些名词 1. 域名 多级域名给渗透突破 (主站)新可能 2. DNS 域名和 IP地址相互转换 2.1 host 和 DNS? 本地Host:重定向 修改IP,但访问的网页一样 ping网站时 先去host文件找ip host文件位置 2.2 CDN是什么?与DNS的关系 Content Delivery Network,内容分发网络 结点技术 3. 脚本语言 类型 asp php aspx jsp javaweb pl py cgi等 脚本类型和安全漏洞 语言框架决定安全漏洞 php 阅读详情

安全要素与 STRIDE 威胁

今天,来分享下安全要素与 STRIDE 威胁。

STRIDE 威胁

STRIDE 威胁,代表六种安全威胁:身份假冒(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information Disclosure)、拒绝服务(Denial of Service)、特权提升(Elevation of Privilege)。

身份假冒(Spoofing)

身份假冒,即伪装成某对象或某人。例如,我们通过伪造别人的 ID 进行操作。

篡改(Tampering)

篡改,即未经授权修改数据或者代码。例如,我通过网络抓包或者某种途径修改某个请求包,而服务端没有进行进一步的防范措施,使得我篡改的请求包提交成功。

抵赖(Repudiation)

抵赖,即拒绝执行他人无法证实也无法反对的行为而产生抵赖。例如,我攻击了某个产品,他们并不知道是我做的,没有证据证明是我做的,我就可以进行抵赖,换句话说,我可以死不承认。

信息泄露(Information Disclosure)

信息泄露,即将信息暴露给未授权用户。例如,我通过某种途径获取未经加密的敏感信息,例如用户密码。

拒绝服务(Denial of Service)

拒绝服务,即拒绝或降低有效用户的服务级别。例如,我通过拒绝服务攻击,使得其他正常用户无法使用产品的相关服务功能。

特权提升(Elevation of Privilege)

特权提升,即通过非授权方式获得更高权限。例如,我试图用管理员的权限进行业务操作。

安全要素

为了防范上面的 STRIDE 威胁,我们需要采用一些防范措施。

威胁安全要素消减技术
身份假冒认证Kerberos、SSL/TLS、证书、认证码等
篡改完整性访问控制列表、SSL/TLS、认证码等
抵赖非抵赖/审计/记录安全审计和日志记录、数字签名、可信第三方
信息泄露保密加密、访问控制列表
拒绝服务可用性访问控制列表、过滤、配额、授权
特权提升授权访问控制列表、角色控制、授权

如何防范常见的Web攻击

 

今天,从开发人员的角度,并结合我在开发过程中遇到的问题,说说《如何防范常见的Web攻击》话题。

SQL注入攻击

SQL注入攻击,这个是最常聊到的话题,使用过Java的开发人员,第一个反应就是一定要使用预编译的PrepareStatement,是吧?

什么是SQL注入攻击

攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。

用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现

 
  1. select * from user where name = 'lianggzone' and password = '' or '1'='1'

不管用户名和密码是什么内容,使查询出来的用户列表不为空。

现在还会存在SQL注入攻击么

这个问题在使用了预编译的PrepareStatement后,安全性得到了很大的提高,但是真实情况下,很多同学并不重视,还是会留下漏洞的。举个例子,看看,大家的代码中对 sql 中 in 操作,使用了预编译,还是仍然还是通过字符串拼接呢?

如何防范SQL注入攻击

使用预编译的PrepareStatement是必须的,但是一般我们会从两个方面同时入手。

  • Web端
  1. 有效性检验。
  2. 限制字符串输入的长度。
  • 服务端
  1. 不用拼接SQL字符串。
  2. 使用预编译的PrepareStatement。
  3. 有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过Web端请求)
  4. 过滤SQL需要的参数中的特殊字符。比如单引号、双引号。

XSS攻击

什么是XSS攻击

跨站点脚本攻击,指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。

假设页面上有一个表单

 
  1. <input type="text" name="name" value="梁桂钊"/>

如果,用户输入的不是一个正常的字符串,而是

 
  1. "/><script>alert("haha")</script><!-

此时,页面变成下面的内容,在输入框input的后面带上了一段脚本代码。

 
  1. <input type="text" name="name" value="梁桂钊"/><script>alert("haha")</script><!-"/>

这端脚本程序只是弹出一个消息框,并不会造成什么危害,攻击的威力取决于用户输入了什么样的脚本,只要稍微修改,便可使攻击极具攻击性。

XSS攻击有多可怕

蛮早之前,我曾经找了几个网站做个测试,其实大家对XSS攻击的防范还是不够,都成功的注入了测试脚本。

甚至,还有攻击者提交恶意的javascript代码的评论信息或者反馈信息(这些信息,正常客户端没有做xss校验,会存在客户端注入问题),所有访问者访问该内容时,都会执行这段恶意的javascript代码。

如何防范XSS攻击

  1. 前端,服务端,同时需要字符串输入的长度限制。
  2. 前端,服务端,同时需要对HTML转义处理。将其中的”<”,”>”等特殊字符进行转义编码。

CSRF攻击

什么是CSRF攻击

跨站点请求伪造,指攻击者通过跨站请求,以合法的用户的身份进行非法操作。可以这么理解CSRF攻击:攻击者盗用你的身份,以你的名义向第三方网站发送恶意请求。CRSF能做的事情包括利用你的身份发邮件,发短信,进行交易转账,甚至盗取账号信息。

如何防范CSRF攻击

  1. 安全框架,例如Spring Security。
  2. token机制。在HTTP请求中进行token验证,如果请求中没有token或者token内容不正确,则认为CSRF攻击而拒绝该请求。
  3. 验证码。通常情况下,验证码能够很好的遏制CSRF攻击,但是很多情况下,出于用户体验考虑,验证码只能作为一种辅助手段,而不是最主要的解决方案。
  4. referer识别。在HTTP Header中有一个字段Referer,它记录了HTTP请求的来源地址。如果Referer是其他网站,就有可能是CSRF攻击,则拒绝该请求。但是,服务器并非都能取到Referer。很多用户出于隐私保护的考虑,限制了Referer的发送。在某些情况下,浏览器也不会发送Referer,例如HTTPS跳转到HTTP。

文件上传漏洞

什么是文件上传漏洞

文件上传漏洞,指的是用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。

许多第三方框架、服务,都曾经被爆出文件上传漏洞,比如很早之前的Struts2,以及富文本编辑器等等,可能被一旦被攻击者上传恶意代码,有可能服务端就被人黑了。

如何防范文件上传漏洞

  1. 文件上传的目录设置为不可执行。
  2. 判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。
  3. 对上传的文件类型进行白名单校验,只允许上传可靠类型。
  4. 上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本,同时向shell.php.rar.ara这种文件,因为重命名而无法成功实施攻击。
  5. 限制上传文件的大小。
  6. 单独设置文件服务器的域名。

访问控制

一般来说,“基于URL的访问控制”是最常见的。

垂直权限管理

访问控制实际上是建立用户与权限之间的对应关系,即“基于角色的访问控制”,RBAC。不同角色的权限有高低之分。高权限角色访问低权限角色的资源往往是被允许的,而低权限角色访问高权限的资源往往被禁止的。在配置权限时,应当使用“最小权限原则”,并使用“默认拒绝”的策略,只对有需要的主体单独配置”允许”的策略,这在很多时候能够避免发生“越权访问”。

例如,Spring Security, Apache Shiro都可以建立垂直权限管理。

水平权限管理

水平权限问题在同一个角色上,系统只验证了访问数据的角色,没有对角色内的用户做细分,由于水平权限管理是系统缺乏一个数据级的访问控制所造成的,因此水平权限管理又可以称之为“基于数据的访问控制”。

举个理解,比如我们之前的一个助手产品,客户端用户删除评论功能,如果没有做水平权限管理,即设置只有本人才可以删除自己的评论,那么用户通过修改评论id就可以删除别人的评论这个就存在危险的越权操作。

这个层面,基本需要我们业务层面去处理,但是这个也是最为经常遗落的安全点。

总结

上面列举的几个话题,都是我在开发过程中,遇到的比较常见的Web安全话题,以及一些防范方案,需要我们在开发过程中及时规避,而不是依靠安全人员或者真正用户,甚至恶意的攻击者帮我们去发现问题。当然,还有很多Web安全话题,例如远程执行漏洞、拒绝服务攻击、Session保持攻击等等,如果读者对于安全方面有兴趣,可以阅读 吴翰清 的 《白帽子讲Web安全》, 值得推荐。

 

服务端通信安全攻防详解

 


接着,昨天《HTTPS原理剖析与项目场景》的话题,我觉得安全方面有蛮多话题可以聊聊的,那么今天再分享一篇《服务端通信安全攻防详解》。

服务端接口通信过程中,一般是明文传输的,没有经过任何安全处理。那么这个时候就很容易在传输过程中被中间者窃听、篡改、冒充等风险。因此,对于敏感信息,以及重要文件就需要进行加密策略,保证通信的安全性。

Base64加密传输

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,但是它其实并不是一种用于安全领域的加密解密算法。

但是,Base64编码的数据并不会被人用肉眼所直观的理解,所以也有人使用Base64来进行加密解密,这里所说的加密与解密实际是指编码和解码的过程。

这种,加密传输的安全性是非常低的,Base64加密非常容易被人识别并解码。

DES对称加密

DES也是一种非常常用的加密方案,我们会将敏感的信息在通信过程中通过DES进行加密传输,然后在客户端和服务端直接进行解码。

此时,作为读者的你,可能会有个疑问,那如何保管密钥呢?其实,想想,答案就复出水面了,因为客户端和服务端都需要进行解码,所以两者都要存一份密钥。其实,还有一种方案是通过服务端下发,但是下发的时候通信的安全性也是没有很好的保障。

所以,DES对称加密也是存在一定的安全隐患:密钥可能会泄漏。这边,举个真实的案例,某个APP的资源不错,同事想抓包分析下其服务端通信的信息结构,但是发现它既然全部采用了DES加密方案,本来想放弃了,但是我们又回头想想客户端肯定需要密钥对接口的加密的内容做解码才能正常展现,那么密钥肯定在app包中,因此我们又对app进行了反编译,结果成功的获取到了密钥,对服务端通信的加密信息进行了解码。

AES对称加密

AES和DES类似,相较于DES算法而言,AES算法有着更高的速度和资源使用效率,安全级别也较之更高。一般情况下,用于文件的加密。我们之前做个不准确测试,AES和DES分别对一个大文件加密,AES的速度大概是DES的5倍。(因为基于工具和环境问题,这个数据不是很准确哟)。

仍然存在一个相同的问题:密钥可能会泄漏。因此,保管好密钥很关键。

升级到HTTPS

这个可以参考上篇博客《HTTPS原理剖析与项目场景》的内容。

HTTPS的价值在于:

  • 内容加密,第三方无法窃听。
  • 身份认证,一旦被篡改,通信双方会立刻发现。
  • 数据完整性。防止内容冒充或者篡改。

这个方案,没法保护敏感数据,如果需要对敏感数据进行加密,还是需要考虑加密方案。

URL签名

基于OAuth2协议,进行URL签名。这个方案,有很多话题可以分享,后面另开一篇来详细讲解。

值得注意的是,URL签名只能垂直权限管理,但没法保护敏感数据,如果需要对敏感数据进行保护,还是需要考虑加密方案。

双向RSA加密

RSA双向认证,就是用对方的公钥加密是为了保密,这个只有对方用私钥能解密。用自己的私钥加密是为了防抵赖,能用我的公钥解开,说明这是我发来的。

例如,支付宝的支付接口就是非常典型的RSA双向认证的安全方案。此外,我们之前的教育资源、敏感验证码出于安全性考虑都借鉴了这个方案。

 

HTTPS原理剖析与项目场景

发表于 2016-10-19 | 安全相关 | 安全 HTTPS

文章目录

  1. 1. 为什么使用HTTPS
  2. 2. 什么是HTTPS
  3. 3. HTTPS原理剖析
  4. 4. HTTPS的相关场景
    1. 4.1. 场景一,对HTTPS进行CDN加速
    2. 4.2. 场景二,对HTTPS的域名通过CNAME绑定到另外一个HTTPS域名上
    3. 4.3. 场景三,两台服务器的证书问题
  5. 5. HTTPS设计上的借鉴

 



最近手头有两个项目,XX导航和XX产业平台,都需要使用HTTPS协议,因此,这次对HTTPS协议做一次整理与分享。

为什么使用HTTPS

HTTP 协议,本身是明文传输的,没有经过任何安全处理。那么这个时候就很容易在传输过程中被中间者窃听、篡改、冒充等风险。这里提到的中间者主要指一些网络节点,是用户数据在浏览器和服务器中间传输必须要经过的节点,比如 WIFI 热点,路由器,防火墙,反向代理,缓存服务器等。

HTTP 协议,中间者可以窃听隐私,使用户的敏感数据暴露无遗;篡改网页,例如往页面插的广告内容,甚至进行流量劫持,比如有的时候你会发现域名没输错,结果却跑到了一个钓鱼网站上,因为被它劫持了。

为了解决这三大风险,HTTPS的价值就体现出来了。

  • 内容加密,第三方无法窃听。
  • 身份认证,一旦被篡改,通信双方会立刻发现。
  • 数据完整性。防止内容冒充或者篡改。

什么是HTTPS

HTTPS,简单的理解HTTP的安全版,即HTTP下加入SSL层,由两部分组成:HTTP + SSL / TLS。

HTTPS原理剖析

 

第一步,用户在浏览器里输入一个https网址,此时客户端发起HTTPS请求,通过TCP和服务器建立连接(443端口)。

第二步,服务器存放CA证书进行处理,注意的是采用HTTPS协议的服务器必须要有一套数字证书,这套证书其实就是一对公钥和私钥。

第三步,服务器向客户端返回证书。证书里面包含了很多信息:比如域名,申请证书的公司,公钥等。以下是一个淘宝网的CA证书。

 

第四步,客户端对证书进行解析。这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机数,然后用证书对该随机数进行加密。

第五步,向服务器发送证书加密后的随机数。

第六步,服务器用它的私钥进行解密,得到了客户端传过来的随机数。

第七步,服务器用客户端的随机数加密后的信息发送给客户端。

第八步,客户端用之前生成的密钥解密服务端传过来的信息。

以上就是整个HTTPS的交互过程,大家是不是对整个流程有了比较大致的了解了呢。

HTTPS的相关场景

真实业务场景是复杂的,这里,整理3个项目中遇到的比较复杂的应用场景。

场景一,对HTTPS进行CDN加速

这种情况下,CA证书需要存放在哪里呢?

主要两个方案。

方案一:服务器(源站)提供证书给CDN厂商,包括公钥证书和私钥,CDN负责交互和内容缓存,CDN有缓存则直接响应,以HTTP或HTTPS的形式回源。这个方案,适用仅对防劫持、防篡改有需求,而愿意提供证书给CDN的源站加速。

方案二:服务器(源站)不提供证书,CDN存放公钥,服务器(源站)存放私钥。在CDN与前端浏览器进行TLS的认证和秘钥协商过程中,通过安全的信道把协商过程中的信息以HTTP或HTTPS的形式转发给源网站。此方案中,CDN不做缓存,仅以自有的加速网络,将用户的请求快速送到服务器(源站),降低公网延迟。这个方案,适用于对安全要求更高,不愿将私钥共享给CDN的源站加速。

场景二,对HTTPS的域名通过CNAME绑定到另外一个HTTPS域名上

这个情况下,我们需要一个证书还是两个证书呢?

我们的方案是,两个证书。因为每个证书跟自己的域名进行绑定,即使它们都在同一个服务器上,也不能使用同一个证书。

场景三,两台服务器的证书问题

因为安全问题,CA证书在一台服务器上,而服务部署在另外一台服务器上。这种情况就比较难办。

 

此时,需要借助Nginx进行反向代理,回源到具体的服务器。

HTTPS设计上的借鉴

对于HTTPS设计上的方案,对于我们而言,有什么可以借鉴的地方么?

答案是肯定的:有。一个非常典型的方案就是RSA双向认证。

RSA双向认证,顾名思义,就是用对方的公钥加密是为了保密,这个只有对方用私钥能解密。用自己的私钥加密是为了防抵赖,能用我的公钥解开,说明这是我发来的。例如,支付宝的支付接口就是非常典型的RSA双向认证的安全方案。此外,我们之前的教育资源、敏感验证码出于安全性考虑都借鉴了这个方案。

 

 

HTTPS 降级攻击的场景剖析与解决之道

这篇文章,一个月前就想整理成文,可惜最近事情比较多,一直拖着。那么,今天的话题就来讲讲《HTTPS 降级攻击的场景剖析与解决之道》。一个对安全性的要求很高的产品,不仅需要使用HTTPS协议,并且需要防止HTTPS降级攻击。

HTTPS 一定安全么

HTTP 协议,本身是明文传输的,没有经过任何安全处理。那么这个时候就很容易在传输过程中被中间者窃听、篡改、冒充等风险。这里提到的中间者主要指一些网络节点,是用户数据在浏览器和服务器中间传输必须要经过的节点,比如 WIFI 热点,路由器,防火墙,反向代理,缓存服务器等。HTTP 协议,中间者可以窃听隐私,使用户的敏感数据暴露无遗;篡改网页,例如往页面插的广告内容,甚至进行流量劫持,比如有的时候你会发现域名没输错,结果却跑到了一个钓鱼网站上,因为被它劫持了。

此时,HTTPS 的价值就体现出来了。HTTPS 协议在应用层的 HTTP 协议和以及传输层 TCP 协议之间的会话层加入了 SSL/TLS 协议,用作加密数据包。在真正数据传输之前,进行握手通信,握手的信息交换主要包括:双方确认加密协议的版本,确认身份(其中浏览器客户端的身份有时是不需要确认的),确认传输真正数据的加密密码(对称加密)。在用作信息传输的加密密码确认之后,接下来的通信数据都会加密后再传输,从而达到防窃取的作用。原理剖析,可以参考我之前的文章《HTTPS原理剖析与项目场景》。

那么,使用了 HTTPS 就能确保安全传输了吗?理论上,是的,但是,现实却不是如此。

设计和实现 SSL/TLS 协议出现了漏洞,导致攻击者同样可以攻击一些旧版本的 SSL/TLS 协议。这其中就包括 SSL 3.0。

什么是 HTTPS 降级攻击

攻击者可利用 SSL 3.0 漏洞获取安全连接当中某些是SSL3.0加密后的明文内容。因为兼容性问题,当浏览器进行 HTTPS 连接失败的时候,将会尝试使用旧的协议版本,于是,加密协议由更加安全的协议,比如 TLS 1.2降级成 SSL 3.0。

如果服务器提供有漏洞的 SSL 3.0 协议的支持,同时,攻击者又能作为中间人控制被攻击者的浏览器发起漏洞版本的 HTTPS 请求,那虽然攻击者监听到的也是加密过的数据,但因为加密协议有漏洞,可以解密这些数据。攻击者可以利用此漏洞,截获用户的隐私数据,比如 Cookie,这样攻击者就可以拿到这些隐私数据,进行更深层次的攻击,进而造成了用户隐私的泄漏。

解决之道

目前,唯一解决问题的方法是禁用 SSL 3.0 加密协议,防止TLS 1.2 或者 TLS 1.1 或者 TLS 1.0降级到 SSL 3.0 加密协议。

禁用的策略有很多,这里主要讲解下 Nginx 如何防止 TLS 降级到 SSL 3.0 以下版本,从而防止 HTTPS 降级攻击。

原先的配置如下。值得注意的是,隐性默认是SSLv3 TLSv1 TLSv1.1 TLSv1.2。

 
  1. ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

禁用的操作很简单,现在改成这样即可。

 
  1. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

总结

HTTPS 能确保安全传输了吗?答案是,不一定,因为旧的版本存在安全漏洞,可能会被攻击者进行 HTTPS 的降级攻击。所以,SSL 3.0 协议以下版本并不安全,因此,为了防止 HTTPS 的降级攻击,我们需要禁用它。

JavaWeb应用安全攻防实战指南 SQL注入,是一种注入攻击技术,攻击者通过向Web应用的输入字段插入恶意SQL代码,从而操纵或篡改后台数据库。SQL注入通常发生在Web应用未对用户输入进行适当过滤或转义的情况下。一旦SQL代码被应用程序执行,攻击者可以绕过认证、窃取敏感数据、修改数据库数据、甚至有可能完全控制服务器。跨站脚本攻击(Cross-Site Scripting, XSS)是一种常见的网络攻击技术,它允许攻击者将恶意脚本注入到其他用户浏览的网页中。 阅读详情

相关推荐

【Attention Is All You Need】Transformer模型精读

Attention Is All You Need》这篇论文奠定了Transformer模型的基础,为深度学习的发展提供了新的方向。Transformer通过自注意力机制和并行化处理显著提升了计算效率和模型性能。然而,Transformer的广泛应用也带来了新的挑战,如计算资源的消耗和对长序列的处理能力等。随着技术的不断发展,研究人员已经提出了诸如Efficient Transformer、Reformer等变种,旨在提升Transformer的效率和适应性。

Lewiz_124的博客 1499

JavaWeb 安全问题及解决方案

1.弱口令漏洞,最好使用至少6位的数字、字母及特殊字符组合作为密码。数据库不要存储明文密码,应存储MD5加密后的密文,由于目前普通的MD5加密已经可以被破解,最好可以多重MD5加密。   2.未使用用户名及密码登录后台可直接输入后台URL登录系统。   解决方案:通过配置filter来过滤掉无效用户的连接请求。   3.JSP页面抛出的异常可能暴露程序信息。有经

少年彬的博客 2424

OpenMontage:AI代理驱动的端到端视频生产系统实战指南

在当今内容创作领域,自动化视频生成技术正成为提升生产效率的关键。其核心原理在于通过智能体(Agent)架构,将复杂的视频制作流程拆解为可被AI理解和执行的标准化任务,从而实现从创意到成片的端到端自动化。这项技术的核心价值在于大幅降低了专业视频制作的门槛,使非专业用户也能快速产出具有一定专业度的内容。其典型应用场景包括社交媒体短片、产品演示、知识科普视频的批量生产。OpenMontage正是这一技术理念的杰出实践,它构建了一个完整的代理驱动视频生产系统,将AI编码助手转变为能自主规划并执行脚本撰写、素材检索、

weixin_35757191的博客 647

高完整性系统(3):Threat Modelling

然后,再为这些事件中的一个(例如,通过门进入)制作更详细的攻击树,考虑可以通过哪些方式实现(例如,门未上锁、钻锁、撬锁、使用钥匙、社会工程等)。请求其他用户的内容:例如,如果内容分发网络 (CDN)没有正确地将一个用户的内容与另一个用户的内容隔离开来,那么一个用户可能会访问到另一个用户的内容。最后,虽然这次讲解的例子较为简单,但在处理更复杂的例子时,我们可能会需要像 fault tree 那样使用“与门”和“或门”,并考虑每种事件发生的概率,以更准确地估计攻击成功的整体概率。因此,需要确保日志无法被篡改。

qq_42902997的博客 969

ESXI 与 OPNSense 配合

国庆期间在家里更新曾经购买的设备,将曾经的单系统,加固为防火墙,多系统的网络架构,如下图: 网络架构 在 ESXI 系统中默认存在一个 vSwitch0 交换机,且其不能被修改名称,因此在此通过修改其对应绑定的上行网卡即可,具体如下: 设置 vSwitch0 上行链路 将 vmnic 0 (网口...

weixin_34050389的博客 2314

自学篇--使用keil5.23创建一个stm32工程并编译(固件包自带版本)

之前在本科学习阶段学习过一点51单片机的知识,可是因为基本没有实践过几次现在已经完全忘记了。。前几天老师突然丢给我几个板子说让我把程序编译、烧写环境装好,当时我就震惊了,不过经过三四天的自我摸索,之后参考他人的学习经验,现在已经基本能处理这个问题了,所以为了方便后面的学者,主要也是为了把自己这几天的学习成果记录一下,我在这里把这个过程写下来。(因为刚刚接触,很多原理性的东西都还不懂,只是一个操作步

yang_csdnForOBTS的博客 8659

Elevation of Privilege 项目教程

Elevation of Privilege 项目教程 1. 项目目录结构及介绍 elevation-of-privilege/ ├── assets/ │ ├── images/ │ └── styles/ ├── src/ │ ├── components/ │ ├── pages/ │ ├── utils/ │ └── index.js ├── public/ │ ...

gitblog_00866的博客 772

十一、增强现实

那都是n年前的老版本了,新版本完全没有这个问题,我就是纠结这个问题,搭建若干环境,又是vmware虚拟机,又是msys2,又是anaconda,又是找机器,折腾了几天,结果通通不是。以一张实际卡片为锚点,通过笔记本的摄像头,在显示器上将一个计算机内的3d物体显示在卡片上,类似于电影上看到的那种全息投影技术;如果你是想在windows环境下开发linux运行程序,那么CygWin/gcc是你的不二之选。而如果你想开发的是windows运行程序,并且追求速度,那么二者相比而言,MinGW是更好的选择。

3188

带你看网络安全的基本常识

网络安全三要素(CIA) Confidentiality:保密性 数据过程中的保密信息,比如密码等信息。 解决办法 加密:网络传输和保存的时候使用加密算法 权限管理:对于不同的信息设置不同的访问权限 敏感信息暴露:对于敏感信息:如密码,邮箱,电子签名。整个过程中需要对敏感信息 进行保护 Integrity:完整性 数据内容是完整的,没有被篡改 解决办法:数字签名进行算法校验 Availabitiy:可用性 有限制的调用服务,防止别人一直call你的服务器,从而搞垮你的服务器 威胁分析模型(STRIDE) S

weixin_38933749的博客 599

Unity-RetargetPro3-动画插件试用

一个名气大于实战的插件。

大话程序员 710

学Simulink--基础微电网场景实例:基于Simulink的微电网并网/孤岛无缝切换控制仿真

本文完成了基于 Simulink 的微电网并网/孤岛无缝切换控制仿真,实现了:✅ 构建含双模式逆变器的微电网模型✅ 实现预同步 + Stateflow 逻辑的智能切换✅ 验证计划与非计划切换的性能边界✅ 证明“无缝”在工程上是可实现的。

amy_mhd的博客 101

微服务熔断机制实战:从“连锁故障”到系统弹性的工程实践

在分布式系统架构中,服务间的依赖调用是核心设计模式,但其稳定性直接影响整体可用性。其基本原理在于,服务通过网络进行远程通信,任何网络延迟、资源竞争或下游异常都可能沿调用链传播,形成级联故障。这种技术价值在于通过隔离故障、快速失败来防止局部问题扩散,保障核心业务链路。典型的应用场景包括电商交易、金融支付等高并发、高可用的关键系统。本文通过构建一个模拟的微服务交互环境,深入探讨了当**下游服务持续异常**时,如何触发**熔断器**,导致上游核心功能看似“突然失灵”的现象,并提供了从日志分析、链路追踪到压力测试的

weixin_34192816的博客 467

【Frida Android】实战篇8:客户端证书认证绕过 Hook 教程

通过重写类的方法,自定义证书校验逻辑;利用配置文件,从系统层面管理证书信任策略;以及通过 OkHttp 框架提供的方法,实现证书的强绑定校验。这些内容主要围绕客户端如何验证服务端证书的合法性展开。客户端证书认证。当 APK 预置了客户端证书,并且服务端会对客户端证书进行校验时,传统的中间人攻击方式将面临新的挑战。我们将深入分析这种场景的工作原理,并详细介绍如何通过技术手段获取客户端证书、配置中间人工具,最终成功实现抓包分析。

水滴石穿 1426

【搞定JavaWeb】之Web安全攻防详解

本文目录: 一、安全要素与 STRIDE 威胁 二、如何防范常见的Web攻击 三、服务端通信安全攻防详解 四、HTTPS原理剖析与项目场景 五、HTTPS 降级攻击的场景剖析与解决之道 一、安全要素与 STRIDE 威胁 今天,来分享下安全要素与 STRIDE 威胁。 STRIDE 威胁 STRIDE 威胁,代表六种安全威胁:身份假冒(Spoofing)、篡改(Tamperi...

Java学习 3758

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

一个Web前端实习生的简历

以下是我大三时候做的简历,其中“基础信息”中的链接全都失效了,其中好多技术现在都不会,还各种“熟悉”、“精通”,当年真的很能装啊????哈哈哈。职业信息姓名 XXX电话 XXX...

全栈空间 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java面试通关⑦:JavaWeb网络核心全集

摘要:JavaWeb是前后端交互、Web项目开发、网络面试的基础核心,所有SSM、SpringBoot项目均基于Web底层机制运行,属于后端必备通识能力。很多开发者常年开发Web项目,却不熟悉HTTP协议、Servlet机制、会话原理、跨域成因、网络安全等核心知识点,面试网络考点频繁失分,对项目底层运行逻辑认知模糊。本篇完整梳理HTTP/HTTPS协议、Servlet生命周期、Cookie&Session、跨域解决方案、Web安全防护等核心内容,结合面试考点与业务场景,打通Web运行底层逻辑...

折哥|智能物流与Java实战,副高数据库工程师。深耕出版社物流WMS/OMS(线体/立库/VGA),也分享Java进阶与OMS电商对接。Oracle→PG实战派。相信沉淀可迁移能力,分享通用技术,不藏不虚。 466

Javaweb安全——Java类加载机制

前言 参照https://javasec.org/以及p神的Java安全漫谈的路线进行学习,类似读书笔记那种吧。之前都是ctf遇到Java的题才学一点,像是反序列化这种,没系统化的学过Java Web安全,这次从头来好好学一遍。 Java平台版本 Java平台共分为三个主要版本Java SE(Java Platform, Standard Edition-Java平台标准版)、Java EE(Java Platform Enterprise Edition-Java平台企业版)、和Java ME(Java

weixin_43610673的博客 3443

Java Web应用的安全防护与攻防

随着Web技术的发展,Web应用面临越来越多的安全威胁,如跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)等,这些威胁可能导致用户数据泄露、系统瘫痪等严重后果。合理利用输入验证、会话管理、数据加密等技术手段,结合安全审计和安全攻防演练,能够有效提升Java Web应用的安全性,保护用户数据和系统资源不受恶意攻击的侵害。同时,对于敏感数据的存储和处理,可以使用加密算法(如AES、RSA等)来加密数据,保障数据的机密性。通过模拟实际攻击场景,评估和改进安全防护策略,从而提高应对安全攻击的能力。

聚娃科技开发者博客 465

JavaWeb 内存马实战排查:Arthas 5大命令定位 Filter/Servlet 型后门

本文详细介绍了JavaWeb内存马的实战排查方法,特别是针对Filter/Servlet型后门的定位与清除。通过Arthas工具的5大关键命令,帮助开发者快速识别和应对无文件落地的内存马攻击,提升Web应用安全性。文章还提供了自动化排查脚本和防御建议,适用于JavaWeb安全防护的实战场景。

weixin_32736961的博客 242

【Microsoft Azure 的1024种玩法】三十五.在Azure Virtual machines中手动部署Java Web

我们都知道,Internet上供外界访问的Web资源可分为:静态web资源:指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术:HTML、CSS。动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web,本文主要的内容主要介绍如何开发人员如何在Azure Virtual machines中手动部署Ja

一只特立独行的兔先森 1164

【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(二)

📚 HTML5技术在电商网站中的应用 核心特性实现: 语义化标签:采用<header>、<main>、<article>等标签构建清晰文档结构,增强可访问性 表单增强:使用type="search"、required等属性实现表单验证和移动端友好输入 性能优化:通过preload预加载关键资源,loading="lazy"实现图片懒加载 可访问性:运用aria-label、role等属性提升残障用户访问体验 典型应用场景: 图书卡

笙囧同学的博客 1016

1021.安全资源共享

Web安全视频 Online-Security-Videos– 红日Web安全攻防视频 Online-Security-Videos– 西安鹏程网络安全攻防课程 Online-Security-Videos– Vulhub系列视频 Online-Security-Videos– 米斯特Web安全攻防视频 Online-Security-Videos– SSRF...

weixin_30906671的博客 559

JavaWeb验证码实战:从Servlet绘图到安全优化全解析

验证码是Web开发中常见的安全组件,其核心原理是通过生成随机图形或文本,结合服务器端会话管理,来区分人类用户与自动化程序。在JavaWeb技术栈中,通常利用Servlet处理HTTP请求,通过Java2D API动态生成图片,并将验证码文本存储在Session中实现状态绑定。这一机制有效防止了暴力破解、刷票等恶意行为,提升了系统安全性。在实际应用中,验证码模块需兼顾安全防御与用户体验,例如通过增加字符扭曲、干扰线来对抗OCR识别,同时需注意在高并发场景下的性能优化。本文以JavaWeb验证码生成为切入点,深

weixin_30482181的博客 442
上一篇: 探索分布式服务框架Dubbo4:Dubbo初体验
下一篇: Codis与RedisCluster的原理详解
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值