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

剑三代售网站怎么做企业办公平台

剑三代售网站怎么做,企业办公平台,网站开发服务费计入哪个科目,北京西站附近景点今年是自主研发的第三个年份#xff0c;也是重视安全的年份。 转一篇小文章#xff1a; 0x00 前言 SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定 URL 地址获取网页文本内容#xff0c;加载指定地址的图…今年是自主研发的第三个年份也是重视安全的年份。 转一篇小文章 0x00 前言 SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定 URL 地址获取网页文本内容加载指定地址的图片下载等等。这里主要介绍java中URLConnection和openStream两个方法产生SSRF的原理和修复方法 0x01 URLConnection RequestMapping(value /urlConnection/vuln, method {RequestMethod.POST, RequestMethod.GET})public String URLConnectionVuln(String url) {return HttpUtils.URLConnection(url);} 这里调用的是HttpUtils.URLConnection(url) public static String URLConnection(String url) {try {URL u new URL(url);URLConnection urlConnection u.openConnection();BufferedReader in new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); //send request// BufferedReader in new BufferedReader(new InputStreamReader(u.openConnection().getInputStream()));String inputLine;StringBuilder html new StringBuilder();while ((inputLine in.readLine()) ! null) {html.append(inputLine);}in.close();return html.toString();} catch (Exception e) {logger.error(e.getMessage());return e.getMessage();}} 跟进URLConnection方法而URLConnection里又调用了URL.openConnection()来发起请求, 这个请求可以直接执行url协议伪协议漏洞利用: 使用file协议读文件 使用http协议访问百度 修复方法: 这里先是对url调用了SecurityUtil.isHttp()来进行检查 GetMapping(/urlConnection/sec)public String URLConnectionSec(String url) {// Decline not http/https protocolif (!SecurityUtil.isHttp(url)) {return [-] SSRF check failed;}try {SecurityUtil.startSSRFHook();return HttpUtils.URLConnection(url);} catch (SSRFException | IOException e) {return e.getMessage();} finally {SecurityUtil.stopSSRFHook();}}SecurityUtil.isHttp()比较简单就是判断url是否是以http://或https://开头 public static boolean isHttp(String url) {return url.startsWith(http://) || url.startsWith(https://);}单纯的ban掉其他协议显然是不够的还不能够防止对内网进行探测于是在获取url内容之前开启了一个hook来对用户行为进行监听SecurityUtil.startSSRFHook()就有效防止了ssrf攻击 0x02 openStream openStream方法的实现也是调用了openConnection生成一个URLConnection对象然后再通过这个对象调用的getInputStream方法的 GetMapping(/openStream)public void openStream(RequestParam String url, HttpServletResponse response) throws IOException {InputStream inputStream null;OutputStream outputStream null;try {String downLoadImgFileName WebUtils.getNameWithoutExtension(url) . WebUtils.getFileExtension(url);// downloadresponse.setHeader(content-disposition, attachment;fileName downLoadImgFileName);URL u new URL(url);int length;byte[] bytes new byte[1024];inputStream u.openStream(); // send requestoutputStream response.getOutputStream();while ((length inputStream.read(bytes)) 0) {outputStream.write(bytes, 0, length);}} catch (Exception e) {logger.error(e.toString());} finally {if (inputStream ! null) {inputStream.close();}if (outputStream ! null) {outputStream.close();}}}通过WebUtils.getNameWithoutExtension(url) . WebUtils.getFileExtension(url)来获取下载文件名,然后执行inputStream u.openStream();来看一下openStream()也是调用了openConnection()也会根据传入的协议的不同来进行处理 public final InputStream openStream() throws java.io.IOException {return openConnection().getInputStream();}由此可以得知openStream方法同样也可以进行ssrf来探测内网以及文件下载修复方案同上 0x03 总结 关键词URLConnection、openConnection、openStream漏洞利用 关于SSRF漏洞利用相关可以看这篇文章总结的很详细 从一文中了解SSRF的各种绕过姿势及攻击思路 原URLConnection和openStream两个方法产生SSRF的原理和修复方法-电子发烧友网
http://www.pierceye.com/news/824599/

相关文章:

  • 有一个网站 人物模型可以做各种动作沈阳军成网站建设
  • h5移动网站开发南京企业自助建站系统
  • 开发一个企业网站报价wordpress副标题字数
  • 芜湖哪家公司做网站不错江宁网站建设方案
  • 做网站公司赚钱吗?百度搜索下载
  • 手机购物网站模版企业信息系统查询系统官网江苏
  • 礼品行业网站建设北京网站设计精选刻
  • 六安论坛网站WordPress ftp 媒体库子目录
  • 网站域名com和cn应用商店免费下载
  • 建设营销型网站多少钱比较好的网站建设网站
  • 学校网站的建设需求搜索引擎优化的缺点包括
  • 牛牛襄阳做网站郑州网站建设市场
  • 网站首页的导航栏北京公司注册核名详细流程
  • 专注昆明网站建设有哪些网络营销方式
  • 公司做两个网站网站怎么做本地映射
  • 响应式网站一般做几个尺寸百度联盟怎么做自己的网站
  • 河南做网站的wordpress 幻灯片加数字
  • 东莞网站建设建网站平面设计培训哪个好
  • 网站建设与管理专业是什么办公空间设计案例整套
  • 网站设计网站源码怎么介绍自己的学校
  • 企业网站建设兴田德润很赞运动网站建设主题
  • 沧州自适应网站建设惠安规划局建设局网站
  • 第三方商城网站建设清理wordpress模板
  • 石家庄市建设厅网站wordpress 缩略图代码
  • 网站建设开发服务费怎么做账在线教育平台
  • 南京市英语网站建设网页制作基础教程课件葛艳玲
  • 石家庄网站建设电商台州自助建站在线咨询
  • 郑州媒体网站定制开发网站建设有趣名称
  • 清远企业网站建设公司江西网站开发企业
  • 中国建设监理协会化工监理协会网站中国建行官网首页