laravel框架调试OrderBy防注入方式
0x00 配置过程12pecl install xdebughttps://janostlund.com/2019-03-22/xdebug-php72-laravel-valet-phpstorm 着重注意2点: php --ini 找到php.ini的位置,复制xdebug的配置到文件。 配置xdebug端口 0x01 OrderBy注入结论: dir使用了白名单,只允许asc、desc sort转义了反引号(`)为2个 valet start启动,直接打断点: 1http://backpack-demo.test/sharp/api/list/voucher?dir=desc&filter_status=1%20%23%20&search=&sort= ...
阅读更多
Padding Oracle——1种加密算法的攻击方法介绍
0x00 前言这里结合实际遇到的实现用户Token场景,在设计上使用了AES-CBC加密算法,会有些安全问题需要注意。因此,写下这篇文章分享下1个有趣的攻击方法。文章会简单其介绍原理,着重给出1个代码示例场景,来介绍1种加密算法的攻击方法——padding oracle。 文章会首先给出代码业务场景,再从攻击者视角阐述整个攻击过程,接着从RD程序员视角剖析问题产生原因、定位错误代码,最后从安全视角讨论针对该攻击应该采取的安全措施、加密算法脆弱性。 总之,这里主要是根据自己审计代码的经验,来模拟展现黑客的攻击方法和攻击产生的直观效果,并提出一些安全方面的建议。深入padding oracle算法的攻击原理以及相关阅读材料,请看这篇文章。 0x01 简单原理介绍直接看Demo和攻击实现,可跳过这 ...
阅读更多
RASP技术实现
0x00 概念 运行时应用自我保护,RASP(Runtime Application Self-Protection)是一种植入到应用程序内部或其运行时环境的安全技术。它能够控制应用程序的执行流程,并且可以实时检测和阻止漏洞攻击行为。该技术可以用来通过自我保护的措施来阻止相关网络攻击,或在没有人为干预的情况下自动重新配置环境,以此来解决特定网络问题(威胁,故障等)。 WAF原理和RASP原理做比较: WAF在边界进行规则匹配。 RASP技术在应用程序内部进行探测和规则分析,更为精准。优点:1.误报率低。2.可以防护0Day级别的漏洞攻击。缺点:1.对应用程序性能有消耗。理论上是5%~10%。 0x01 Java版本技术实现原理(OpenRASP分析)RASP技术实现实质是在不接触应用源码 ...
阅读更多
Fastjson反序列化漏洞调试分析
0x00 攻击向量fastjson攻击有2个条件: 版本限制,<=1.2.24。之后禁止了autoType自动类型判断。 写法有限制,具体看代码。 攻击利用了fastjson的@type属性,使用它可以指定实例化对象的类。Payload有几个,这里挑最普遍使用的JNDI方法来分析原理。 payload如下,利用参考marshalsec: 1234567891011121314public Object exp1(){ //JDK 8u121以后版本需要设置改系统变量 System.setProperty("com.sun.jndi.rmi.object.trustURLCodebase", "true"); //LADP ...
阅读更多
DDCTF2019 "再来1杯Java"出题记录
0x00 总体思路题目请看:https://ddctf.didichuxing.com/challenges#%E5%86%8D%E6%9D%A51%E6%9D%AFJava考点3个: padding oracle 任意文件下载 Java反序列化攻击 看同学们解题基本按照我的预想,但细节还是有我没料想到解法。希望大家在做这道题目,展现自己水平的同时,也能细细体会下,学到一些有用的知识。接下来,我就聊聊这几个考点涉及到有趣的故事。 0x01 具体分析1. padding oraclepadding oracle的资料很多,但我看到的大多都是2个block,直接改变IV来加解密。想给大家传递个点是,针对(>2)个block的密文,同样是可以进行PaddingOracle攻击。思路是:将 ...
阅读更多
spring actuator 攻击方式分析记录
0x00 复现记录原文章作者已经给出了漏洞环境:https://github.com/artsploit/actuator-testbed 直接run起来就行,不用管报错信息~ 1. 攻击方式一 – 通过eureka组件RCESpring actuator 提供了/env接口来查看和改变应用程序的环境变量~因此,找到了eureka.client.serviceUrl.defaultZone属性~ 记录2个要点: 访问/env时,直接复制下面的请求再改细节,浏览器抓包改会有问题~ POST /env HTTP/1.1 Host: 127.0.0.1:8090 Content-Type: application/x-www-form-urlencoded Cache-Control: max- ...
阅读更多
Jenkins未授权访问RCE漏洞复现记录
0x00 环境 A flaw was found in Pipeline: Declarative Plugin before version 1.3.4.1, Pipeline: Groovy Plugin before version 2.61.1 and Script Security Plugin before version 1.50. Script Security sandbox protection could be circumvented during the script compilation phase by applying AST transforming annotations such as @Grab to source code elements. Bo ...
阅读更多
http2协议介绍及抓包分析
0x00 简介之前有个Pwnhub的题目,学习了下http2相关知识,把相关知识简单记录下。题目是gopher协议内网打http2服务,不自己构造http2协议包的,可以用curl配合nc简单构造的小技巧。 123456curl -vv --http2-prior-knowledge 127.0.0.1:1234nc -lvvv 1234 > res.txt # URL编码数据称gopher协议得到返回结果,可以使用nc解码得到flag:nc -lvvv 1234 < response.rescurl -vv --http2-prior-knowledge 127.0.0.1:1234 题目还是主要能让我们学到相关知识,之后我也将博客升级成了https+http2。这里记录下h ...
阅读更多
RMI反序列化攻击方法记录
0x00前言本文主要以Weblogic最新的反序列化漏洞CVE-2018-3191为例,介绍基于RMI的反序列化攻击方法。其中涉及到了Java Exec执行命令的相关知识,在这里整理记录下。在搭建Docker漏洞环境时,遇到了Docker for mac容器与宿主机互通的问题,顺带也记录下~ 0x01 Docker for mac 容器和宿主机互通mac环境下的Docker网络环境和Linux不一样,不能直接ping通容器和宿主机。查了很多文章,最后参考下面2个链接暂时成功~ http://sua7.com/2017/04/29/Docker https://github.com/mal/docker-for-mac-host-bridge。步骤中有2个注意点:1. 每次重启docker,都 ...
阅读更多
Struts2最新POC分析记录
0x00 前言这篇文章记录我调试S2-057漏洞的过程,简单记下几个知识点。 0x01 实验环境 Struts 2.5.16.2 tomcat 9.0.11 0x02 成功的POCIDEA真是好用,修改struts配置文件为有漏洞版本,配置tomcat环境,直接运行对应的Struts2-showcase项目就行了。我在mac环境下,POC都调了好长时间,给出能够成功的POC: 1GET /struts2-showcase/$%7B(%23ct=%23request%5B'struts.valueStack'%5D.context).(%23cr=%23ct%5B'com.opensymphony.xwork2.ActionContext.container'%5D).(%23ou=%23c ...
阅读更多