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

重庆市建设工程信息网怎么录项目信息/seo属于什么职位类型

重庆市建设工程信息网怎么录项目信息,seo属于什么职位类型,企业建设网站公司简介,杭州市工程建设招标网最近项目的测试哥们提了一个linux系统软链接攻击的问题,项目中导出服务器上某个文件的时,通过软连接漏洞可以获取到其他文件的信息。 具体过程自己写了个下载的Demo模拟了一下: 下载的servlet和html如下,下载/opt/temp/a.txt&…

  最近项目的测试哥们提了一个linux系统软链接攻击的问题,项目中导出服务器上某个文件的时,通过软连接漏洞可以获取到其他文件的信息。

  具体过程自己写了个下载的Demo模拟了一下:

  下载的servlet和html如下,下载/opt/temp/a.txt,国际惯例,内容是hello world,文件大小12kb。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Download File</title>
<script type="text/javascript">function download() {window.open("download.do");}
</script>
</head>
<body><input type="button" value="Download" onclick="download()" />
</body>
</html>
View Code
package com.dj.servlet;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLEncoder;import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.tomcat.util.http.fileupload.IOUtils;/*** @author DU**/
@WebServlet("/download.do")
public class DownloadDemoServlet extends HttpServlet
{private static final long serialVersionUID = 1L;public DownloadDemoServlet(){super();}protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{String fileName = "a.txt";response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));String filePath = "/opt/temp/" + fileName;FileInputStream is = new FileInputStream(new File(filePath));ServletOutputStream os = response.getOutputStream();IOUtils.copy(is, os);os.close();is.close();}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{doGet(request, response);}}
View Code

  这样下载下来的文件没有任何问题,接下来就涉及软链接的问题,在服务器上/home目录下有一个npp.7.3.3.Installer.x64.exe的文件,当然这是个notepad++的安装文件,我自己放进去的。先将/opt/temp/a.txt删除掉,然后用xshell执行命令ln -s /home/npp.7.3.3.Installer.x64.exe /opt/temp/a.txt 创建.exe的软链接文件为a.txt,关于软链接文件这里不细表,可以自行百度,可以理解为类似windows的快捷方式,创建成功之后是这样的,注意这时候文件大小已经是2.84M了。

  

  然后再次点击下载,这个时候下载下来的是这样的:

 

  

  是的,下载软链接会直接下载软链接指向的源文件,如果是敏感文件的话就很不好了。当然,笔者依然处于菜鸟阶段,还不是很清楚恶意攻击者可以通过怎样的手段达到创建出这个软链接。

  接下来就是如何规避这个问题了:

  第一种方式是通过对比文件的绝对路径和规整化路径,如果是源文件的话这两个路径应该是一样的,否则就是链接文件。

    // 对比绝对路径和规整化路径String absolutePath = file.getAbsolutePath();String canonicalPath = file.getCanonicalPath();if (!absolutePath.equals(canonicalPath)){response.getWriter().append("Download Failed!");return;}
View Code

  第二种方式可以直接通过jdk1.7开始出现的java.nio.file.Files类提供的接口判断。

   

  

    // 直接通过java.nio.file包中提供的接口判断Path path = Paths.get(filePath);boolean isSymbolicLink = Files.isSymbolicLink(path);if (isSymbolicLink){response.getWriter().append("Download Failed!");return;}
View Code

 如图,校验成功!

 

转载于:https://www.cnblogs.com/muzipang/p/6603752.html

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

相关文章:

  • 企业网站建设招标书/合肥瑶海区
  • 哪个网站做美食好一点/软文发布平台哪个好
  • 下载 asp 网站源码/福州seo博客
  • 用dw怎么做用户登录页面的网站/app推广方式
  • 赣州酒店网站建设/百度服务平台
  • 关于单位建设网站的申请/百度网盘电话人工服务
  • 虚拟主机购买网站/百度搜索关键词优化方法
  • 如何给游戏网站做外挂/seo技术教学视频
  • 网站的搜索框如何做/免费seo网站诊断
  • 雅思真题有网站做吗/西安网红
  • 秦皇岛手机网站制作价格/软文推广网站
  • 如何在百度上做网站/南昌seo专业团队
  • 利用电脑做网站/百度怎么推广广告
  • 青海住房和建设厅网站/百度推广渠道代理
  • 二维码怎么制作出来的/网站做优化好还是推广好
  • facebook做网站/矿坛器材友情交换
  • php网站建设制作方案/爱站官网
  • 长沙做软件的公司/seo营销推广
  • 建设沙滩车官方网站/全网搜索指数查询
  • 网站建设公司华网天下买送活动/武汉seo排名
  • 网站建设后的心得/互联网营销师在哪里报名
  • 淘宝商家版登录入口/班级优化大师app下载学生版
  • 试玩平台怎么做网站/全国十大跨境电商排名
  • 济宁网站建设价格/html网站模板免费
  • 做定制网站/百度搜索智能精选
  • 济南品牌网站建设价格/查询网 域名查询
  • 网站开发需要投入多少时间/谷歌seo搜索引擎下载
  • 做网站怎么找客户联系方式/如何推广我的网站
  • 广东网站备案要多久/1个百度指数代表多少搜索
  • 网站设计 优帮云/seo网站优化排名
  • WebMvc自动配置流程讲解
  • Qt-vs加载exe图标
  • Java 大视界 -- Java 大数据机器学习模型在金融市场情绪分析与投资决策辅助中的应用(379)
  • Java基本技术讲解
  • 网页操作自动化解决方案:如何用Browser-Use+CPolar提升企业运营效率
  • Day25-对称二叉树-