api-wrap 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
api-wrap 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
api-wrap 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言
操作系统 跨平台
软件类型 开源软件
所属分类 管理和监控安全相关
开源组织
地区 国产
投 递 者 产奶的蜗牛
适用人群 未知
收录时间 2020-10-30

软件简介

服务端安全签名验签

引入jar包

gradle

compile 'com.seelyn:api-wrap-boot:{version}'

maven

<dependency>
    <groupId>com.seelyn</groupId>
    <artifactId>api-wrap-boot</artifactId>
    <version>{version}</version>
</dependency>

使用示例

  • 使用EnableApiWrap注解,开启API Wrap功能
@SpringBootApplication
@EnableApiWrap
public class WrapWebApplication {

    public static void main(String[] args) {
        SpringApplication.run(WrapWebApplication.class, args);
    }

}
  • 在controller类方法或类上添加@ApiWrap注解, 注解也可以自定义处理类,只有使用了注解的类和方法才能接收签名验签请求
@ApiWrap
@PostMapping(value = "/web")
public WrapRequest<DefaultWrapData> web(@RequestBody WrapRequest<DefaultWrapData> request) {
    return request;
}
  • 自定义API签名验签处理类
@ApiWrap(value=CustomWrapHandler.class)
CustomWrapHandler类需要实现WrapHandler接口
  • WrapRequest 是统一的API验证请求类,其中泛型 DefaultWrapData类需要继承WrapData类
public class WrapRequest<T extends WrapData> {

    private String appKey;
    private String signature;
    private long timestamp;
    private int nonce;
    private T data;
    //setter getter省略.... 
}
import com.seelyn.apiwrap.WrapData;
import com.seelyn.apiwrap.annotation.SignIgnore;

public class DefaultWrapData extends WrapData {

    // SignIgnore 注解标识标识忽略属性用于签名
    @SignIgnore
    private String name;
    private String url;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}
  • 存储appKey和appSecret用于请求验证
@Autoware
private WrapStore wrapStore;

// 存储密钥
wrapStore.putSecret(appKey, appSecret);
  • 配置文件
#===========api wrap===========
# app密钥,若用户没有自定义,则使用此
api.wrap.secret=testjjhdsa
# 单位秒,请求时间和服务器时间不能超过300秒
api.wrap.legal-time=300
#===========api wrap redis=============
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.database=0
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(1)
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
FasterXML jackson-databind 代码问题漏洞
反序列化
FasterXML jackson-databind是一个基于JAVA可以将XML和JSON等数据格式与JAVA对象进行转换的库。Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 FasterXML jackson-databind 2.0.0版本至2.9.10版本中存在代码问题漏洞。该漏洞源于网络系统或产品的代码开发过程中存在设计或实现不当的问题。攻击者可通过发送特制请求利用该漏洞在系统上执行任意代码。
CVE-2019-16942 MPS-2019-12479
2022-08-08 20:52
Apache Tomcat 授权问题漏洞
会话固定
Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat 9.0.0.M1版本至9.0.29版本、8.5.0版本至8.5.49版本和7.0.0版本至7.0.98版本中存在授权问题漏洞。攻击者可借助FORM身份验证功能利用该漏洞访问其他用户的会话。
CVE-2019-17563 MPS-2019-16906
2022-08-08 20:52
FasterXML jackson-databind 代码问题漏洞
反序列化
2.9.10.8 之前的 FasterXML jackson-databind 2.x 错误处理了与 org.apache.tomcat.dbcp.dbcp.datasources.SharedPoolDataSource 相关的序列化小工具和类型之间的交互。
CVE-2020-36187 MPS-2021-0210
2022-08-08 20:52
Logback-core 存在输入验证不恰当漏洞
输入验证不恰当
ch.qos.logback:logback-core 是一个 logback-core 模块。此软件包的受影响版本容易受到主机名验证不足的影响。 X.509 未正确验证。通过通过看似有效的证书欺骗 TLS/SSL 服务器,具有拦截网络流量(例如,MitM、DNS 缓存中毒)能力的攻击者可以泄露和选择性地操纵传输的数据。
MPS-2022-12411
2022-08-08 20:52
FasterXML jackson-databind 代码问题漏洞
反序列化
FasterXML Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。 FasterXML jackson-databind 2.9.10之前版本中存在代码问题漏洞。该漏洞源于网络系统或产品未对输入的数据进行正确的验证。
CVE-2019-16335 MPS-2019-11533
2022-08-08 20:52
FasterXML jackson-databind反序列化漏洞(AnterosDBCPConfig gadget绕过)
反序列化
FasterXML Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。 FasterXML jackson-databind 2.9.10.4之前的2.x版本中存在安全漏洞。攻击者可借助特制的请求利用该漏洞执行任意代码。
CVE-2020-9548 MPS-2020-3042
2022-08-08 20:52
Hibernate Validator 输入验证错误漏洞
输入验证不恰当
Hibernate Validator是一款参数校验框架。 Hibernate Validator 6.1.2.Final版本中存在输入验证错误漏洞。该漏洞源于网络系统或产品未对输入的数据进行正确的验证。
CVE-2020-10693 MPS-2020-7077
2022-08-08 20:52
FasterXML jackson-databind代码问题漏洞
反序列化
FasterXML Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。 FasterXML jackson-databind 2.9.10.5之前的2.x版本中存在安全漏洞。目前没有详细漏洞细节提供。
CVE-2020-14062 MPS-2020-8802
2022-08-08 20:52
FasterXML jackson-databind代码问题漏洞(JndiRealmFactory gadget绕过)
反序列化
FasterXML Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。 FasterXML jackson-databind 2.9.10.5之前的2.x版本中存在安全漏洞。攻击者可通过发送特制的输入利用该漏洞在系统上执行任意代码。
CVE-2020-14195 MPS-2020-8911
2022-08-08 20:52
FasterXML jackson-databind 代码问题漏洞
反序列化
FasterXML jackson-databind是一个基于JAVA可以将XML和JSON等数据格式与JAVA对象进行转换的库。Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 FasterXML jackson-databind 2.x before 2.9.10.8 存在代码问题漏洞,该漏洞源于com.newrelic.agent.deps.ch.qos.logback.core.db.JNDIConnectionSource错误地处理serialization gadgets 和 typing的交互。
CVE-2020-36188 MPS-2021-0211
2022-08-08 20:52
Google Guava 代码问题漏洞
不加限制或调节的资源分配
Google Guava是美国谷歌(Google)公司的一款包括图形库、函数类型、I/O和字符串处理等的Java核心库。 Google Guava 11.0版本至24.1.1版本(不包括24.1.1版本)中存在代码问题漏洞。该漏洞源于网络系统或产品的代码开发过程中存在设计或实现不当的问题。
CVE-2018-10237 MPS-2018-5515
2022-08-08 20:52
Apache Tomcat 资源管理错误漏洞
拒绝服务
Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。 漏洞版本中攻击者通过发送大量特制的 HTTP/2 请求序列会触发高 CPU 使用率,导致服务器变得无响应。
CVE-2020-11996 MPS-2020-9541
2022-08-08 20:52
netplex json-smart-v 代码问题漏洞
对因果或异常条件的不恰当检查
netplex json-smart是开源的一个JSON Java解析器。 netplex json-smart-v1 through 2015-10-23 and json-smart-v2 through 2.4 存在代码问题漏洞,该漏洞源于如果没有捕获到异常,它可能会导致使用该库的程序崩溃或暴露敏感信息。
CVE-2021-27568 MPS-2021-2102
2022-08-08 20:52
Netty Bzip2Decoder资源穷尽漏洞
拒绝服务
Netty 是一个异步事件驱动的网络应用程序框架。 Netty的Bzip2 decompression decoder功能不允许对解压输出数据设置大小限制造成安全漏洞。攻击者可利用该漏洞引发DoS攻击
CVE-2021-37136 MPS-2021-28116
2022-08-08 20:52
FasterXML jackson-databind代码问题漏洞
反序列化
FasterXML Jackson是美国FasterXML公司的一款适用于Java的数据处理工具。jackson-databind是其中的一个具有数据绑定功能的组件。 FasterXML jackson-databind 2.9.10.5之前的2.x版本中存在安全漏洞。目前没有详细漏洞细节提供。
CVE-2020-14061 MPS-2020-8801
2022-08-08 20:52
FasterXML jackson-databind 代码问题漏洞
反序列化
2.9.10.8 之前的 FasterXML jackson-databind 2.x 错误处理了与 com.newrelic.agent.deps.ch.qos.logback.core.db.DriverManagerConnectionSource 相关的序列化小工具和类型之间的交互。
CVE-2020-36189 MPS-2021-0212
2022-08-08 20:52
FasterXML jackson-databind 代码问题漏洞
反序列化
2.9.10.8 之前的 FasterXML jackson-databind 2.x 错误处理了与 org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS 相关的序列化小工具和类型之间的交互。
CVE-2020-36180 MPS-2021-0204
2022-08-08 20:52
FasterXML jackson-databind 代码问题漏洞
反序列化
2.9.10.8 之前的 FasterXML jackson-databind 2.x 错误处理了与 org.apache.commons.dbcp2.datasources.PerUserPoolDataSource 相关的序列化小工具和类型之间的交互。
CVE-2020-35490 MPS-2020-17696
2022-08-08 20:52
Vmware Spring Framework 注入漏洞
输入验证不恰当
Vmware Spring Framework是美国威睿(Vmware)公司的一套开源的Java、JavaEE应用程序框架。该框架可帮助开发人员构建高质量的应用。 Spring Framework 存在注入漏洞,该漏洞源于通过日志注入绕过 Spring Framework 的访问限制,以更改数据。
CVE-2021-22096 MPS-2021-18890
2022-08-08 20:52
Github json-smart-v1 缓冲区错误漏洞
跨界内存写
netplex json-smart是开源的一个JSON Java解析器。 在 JSON Smart 版本 1.3 和 2.4 中的 JSONParserByteArray 的 indexOf 函数中发现了一个漏洞,该漏洞通过精心设计的 Web 请求导致拒绝服务 (DOS)。
CVE-2021-31684 MPS-2021-7737
2022-08-08 20:52
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
1 评论
9 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部