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

做网站 信科网站建设便宜宁波好的seo外包公司

做网站 信科网站建设便宜,宁波好的seo外包公司,wordpress设置固定连接失败,企业微信网站开发公司简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性&#xff0c…

简介

RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection)

代码注入

1.漏洞场景:Groovy代码注入

Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,常用于脚本开发和自动化任务Groovy代码注入漏洞通常是由于未对用户输入进行适当的验证和过滤,导致恶意输入被直接执行为 Groovy脚本的一部分

public R vulGroovy(String payload) {try {GroovyShell shell = new GroovyShell();Object result = shell.evaluate(payload); if (result instanceof Process) {Process process = (Process) result;String output = getProcessOutput(process);return R.ok("[+] Groovy代码执行,结果:" + output);} else {return R.ok("[+] Groovy代码执行,结果:" + result.toString());}} catch (Exception e) {return R.error(e.getMessage());}
}
private String getProcessOutput(Process process) {StringBuilder output = new StringBuilder();try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {String line;while ((line = reader.readLine()) != null) {output.append(line).append("\n");}} catch (Exception e) {return "读取输出失败: " + e.getMessage();}return output.toString();
}


2.安全场景:Groovy脚本白名单

public R safeGroovy(String payload) {List<String> trustedScripts = Arrays.asList("\"id\".execute()","\"ls\".execute()","\"whoami\".execute()");if (!isTrustedScript(payload, trustedScripts)) {return R.error("非法的脚本输入!");}try {GroovyShell shell = new GroovyShell();Object result = shell.evaluate(payload);  if (result instanceof Process) {Process process = (Process) result;String output = getProcessOutput(process);return R.ok("[+] 执行受信任的脚本,结果:" + output);} else {return R.ok("[+] 执行受信任的脚本,结果:" + result.toString());}} catch (Exception e) {return R.error(e.getMessage());}
}
private boolean isTrustedScript(String script, List<String> trustedScripts) {return trustedScripts.contains(script);
}

命令注入

1.漏洞场景:ProcessBuilder

public R vul1(String payload) throws IOException {String[] command = {"sh", "-c",payload};ProcessBuilder pb = new ProcessBuilder(command);pb.redirectErrorStream(true);Process process = pb.start();InputStream inputStream = process.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));String line;StringBuilder output = new StringBuilder();while ((line = reader.readLine()) != null) {output.append(line).append("\n");}return R.ok(output.toString());

2.漏洞场景:Runtime.getRuntime().exec()

代码审计SINK点:1、ProcessBuilder2、Runtime.exec()3、反射调用 ProcessImpl.start

public R vul2(String payload) throws IOException {StringBuilder sb = new StringBuilder();String line;Process proc = Runtime.getRuntime().exec(payload);InputStream inputStream = proc.getInputStream();InputStreamReader isr = new InputStreamReader(inputStream);BufferedReader br = new BufferedReader(isr);while ((line = br.readLine()) != null) {sb.append(line);}return R.ok(sb.toString());
}

3.漏洞场景:ProcessImpl

安全编码规范:1、限制执行权限:避免使用Runtime、ProcessBuilder等函数,即使使用这类函数也应确保执行命令的进程具有最小权限,避免提升到更高的权限级别。2、避免直接拼接命令字符串:尽可能使用专门的API或库来处理系统任务,避免直接构建和执行命令字符串3、输入验证:对所有用户输入进行严格验证,确保符合预期格式,建立白名单机制,仅允许合法的输入和命令类型

public R vul3(String payload) throws Exception {// 获取 ProcessImpl 类对象Class<?> clazz = Class.forName("java.lang.ProcessImpl");// 获取 start 方法Method method = clazz.getDeclaredMethod("start", String[].class, Map.class, String.class, ProcessBuilder.Redirect[].class, boolean.class);method.setAccessible(true);Process process = (Process) method.invoke(null, new String[]{payload}, null, null, null, false);try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {StringBuilder output = new StringBuilder();String line;while ((line = reader.readLine()) != null) {output.append(line).append("\n");}return R.ok(output.toString());}
}

4.安全场景:白名单限制

安全代码

// 验证命令是否在允许的列表中
if (!ALLOWED_COMMANDS.contains(payload)) {return R.error("不允许执行该命令!");
}// 可执行命令白名单
private static final List<String> ALLOWED_COMMANDS = Arrays.asList("ls", "date");
http://www.dtcms.com/wzjs/289894.html

相关文章:

  • 做网站前的准备工作怎么看百度指数
  • wordpress有什么好玩的插件seo计费系统登录
  • windows系统的vps网站防攻击互联网推广怎么找渠道
  • wordpress上传视频限制广州做seo整站优化公司
  • 网站设计销售好做吗seo网络优化日常工作内容
  • pc 响应式网站模板ui设计
  • 县政府门户网站建设情况电销系统
  • 青岛网站制作选ls15227张家界网站seo
  • 金华建设局网站全球十大搜索引擎排名
  • 用动易做的校园网站互联网推广销售
  • wordpress go安卓优化大师旧版本
  • 网站建设架百度怎样发布信息
  • 柳市做网站的公司自己怎么做游戏推广赚钱
  • 娄底哪里做网站河南网站seo靠谱
  • 网站备案更改需要多久100个成功营销案例
  • 模仿图库网站开发网络广告案例
  • 网站建设寻找可以途径济南疫情最新情况
  • b2b2c网站建设seo网站推广全程实例
  • 网站建设基本常识获客渠道有哪些
  • 群晖做网站服务器 套件湖南专业关键词优化
  • 做网站的公司推荐长春百度快速优化
  • 深圳东门疫情淘宝关键词优化技巧教程
  • 成都关键词百度起诉seo公司
  • 艺考有哪些专业百度关键词优化多少钱一年
  • 提供网站建设运营公司资质网络营销推广渠道有哪些
  • 房地产网站怎么做培训心得体会500字
  • 网站怎么做qq授权登录环球军事网
  • 与网站开发有关的岗位是哪些优化神马网站关键词排名价格
  • 举报网站建设公司网络营销的主要内容包括
  • 如何做优化网站排alexa优化百度软件应用中心下载