- 博客(69)
- 收藏
- 关注
原创 XSS详解
在进行JavaScript解析的时候字符或者字符串仅会被解码为字符串文本或者标识符名称,在上例中Javascript解析器工作的时候将\u0061\u006c\u0065\u0072\u0074进行解码后为alert,而alert是一个有效的标识符名称,它是能被正常解析的。在处理诸如 这样的标签,解析器会自动切换到JS解析模式,而src、 href 后边加入的javascript 伪URL,也会进入JS 的解析模式,ON事件后面也会直接进入JS模式。
2023-09-30 17:41:24
1260
原创 Java 反序列化漏洞-Apache Commons Collections4-TreeBag攻击链
知识点补充可以看看我前面写的CC2和CC3CC4这条链其实是CC2的变种,与CC2不同的是和CC3一样用了InstantiateTransformer而不是InvokerTransformer触发利用链,ysoserial中用 PriorityQueue 的 TransformingComparator 触发 ChainedTransformer,再利用 InstantiateTransformer 实例化 TemplatesImpl。
2022-10-06 14:47:41
1514
原创 Java内存马学习-Filter
Java内存马学习-FliterTomcat架构学习Tomcat架构学习Server:Server,即指的WEB服务器,一个Server包括多个Service。Service:Service的作用是在Connector和Engine外面包了一层(可看上图),把它们组装在一起,对外提供服务。一个Service可以包含多个Connector,但是只能包含一个Engine,其中Connector的作用是从客户端接收请求,Engine的作用是处理接收进来的请求。后面再来细节分析Service。Conne
2022-05-03 18:22:14
960
原创 log4j2漏洞分析
log4j2漏洞分析环境布置前言环境布置和前面的JNDI注入时用的代码差不多package Log4j2;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;public class log4j { private static final Logger logger = LogManager.getLogger(log4j.class); public stat
2022-04-11 00:49:31
6865
原创 JNDI注入学习笔记
JNDI注入学习笔记前言什么是JNDI前言前面我们知道了RMI的一些机制,今天我们来学一学JNDI注入什么是JNDIjndi的全称为Java Naming and Directory Interface(java命名和目录接口)SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互、如图我们只要知道jndi是对各种
2022-03-26 01:20:17
4322
原创 Javassist-字节码 学习笔记
参考文章https://b1ngz.github.io/java-deserialization-jdk7u21-gadget-note/https://y4er.com/post/javassist-learn/https://blog.youkuaiyun.com/caiqiiqi/article/details/108470039https://www.cnblogs.com/scy251147/p/11100961.htmlhttps://www.guildhab.top/2020/08/java-%
2022-03-23 14:09:50
1127
原创 Java 反序列化漏洞-Apache Commons Collections3
Java 反序列化漏洞-Apache Commons Collections3前言javassist+TemplatesImplcom.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter前言之前已经学了CC1和CC2,接下来继续学习CC3。在CC2中我们用到了javassist修改字节码并配合TemplatesImpl攻击链来使用,因此我们很自然而然的想到,如果我们直接用javassist修改字节码并配合TemplatesImpl攻击链使用,就无需用I
2022-03-02 09:50:50
4852
原创 Java 反序列化漏洞-Apache Commons Collections2-TemplatesImpl攻击链
Java 反序列化漏洞-Apache Commons Collections2前言漏洞挖掘PriorityQueuePriorityQueue.readObject()PriorityQueue.heapify()PriorityQueue.siftDown()PriorityQueue.siftDownUsingComparator()TransformingComparator.compare()构造利用链前言前面分析了CC1,今天继续学习,分析下CC2。在 ysoserial中 CC2 是用的 P
2022-02-28 00:16:30
731
原创 Java 反序列化漏洞--fastjson-1.2.24--TemplatesImpl攻击链
Java-fastjson-1.2.24反序列化漏洞前置知识漏洞分析getTransletInstance()newTransformer()getOutputProperties()前置知识fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。这里帮运一下素十八大佬总结的fastjson的功能要点*1.使用 JSON.parse(jsonString)
2022-02-24 14:52:26
1448
原创 Java 反序列化漏洞-Apache Commons Collections1-LazyMap 攻击链
Java 反序列化漏洞-Apache Commons Collections1-LazyMap 攻击链前言漏洞挖掘本地弹出POCTiedMapEntry.getValue()TiedMapEntry.toString()前言前面分析完了CC1的TransformedMap攻击链,但考虑到篇幅太大不利于查看,所以单独再写一篇CC1的LazyMap攻击链漏洞挖掘本地弹出POC这条链前面的挖掘就不说了,挖掘过程可以看看上一篇文章接下来我们看看lazymap的get方法可以看到get方法里面调用了
2022-02-11 23:07:05
3508
原创 Java 反序列化漏洞-Apache Commons Collections1-TransformedMap 攻击链
Java 反序列化漏洞-Apache Commons Collections前言前置知识TransformedMap前言前面已经学了一些Java反序列化漏洞的相关基础知识,今天就来学习分析一下Apache Commons Collections的反序列化漏洞环境搭建推荐大家直接使用maven搭建,网上都有很多教程这里就不多说了要寻找反序列化漏洞,最主要的是找到三个点:入口点(kick-off),触发点(sink),调用链(chain)前置知识TransformedMaporg.apache.
2022-02-08 14:22:12
2613
原创 idea一些小技巧的记录
查找接口的实现类:ctrl + alt + B查看的类的标签页内:点击右键,选择 Diagrams,其中有 show 和 show … Popup,只是前者新建在标签页内,后者以浮窗的形式展示此时选中map右键show imptenmentations也可以查看实现该接口的所有类查看类或接口的继承关系:ctrl + h展示类/接口的详细信息:右键有show categories,选择的展开类种的属性,方法,构造方法等...
2022-01-03 15:50:52
251
原创 Java 反序列化漏洞 学习笔记
Java 反序列化漏洞 学习笔记前言什么是 Java 序列化 / 反序列化实现反序列化需要满足的条件Serializable前言Java的反序列化漏洞我感觉应该是比较常见而且危害较大的漏洞,而Java 反序列化技术大量应用于 JRMI( Java远程方法调用 ) , JMX( Java管理扩展 ) , JMS( Java消息服务 ) 中,因此 Java RMI 服务也算是 Java 反序列化漏洞的高发地 ,而前面也学过了Java RMI相关的知识,今天就来学一下Java 反序列化漏洞相关原理什么是 J
2021-12-22 12:20:20
1152
原创 JAVA 命令执行 学习笔记
JAVA 命令执行 学习笔记前言java.lang.Runtime前言今天来了解一下Java的命令执行,命令执行在安全领域中的应用还是非常广的,得好好理解学习一下java.lang.Runtimejava.lang.Runtime 类的 exec() 方法是Java中最常见的执行命令的方式1.正常情况下 , 我们想要拿到一个除系统类以外的类 , 必须要先 import 后才能使用 . 否则会出现 cannot find symbol 等报错 . 但是在进行利用时 , 系统是不会让你随意加载类的但
2021-12-11 00:37:08
5070
原创 Java 反射机制 学习笔记
Java 反射机制 学习笔记前言什么是 Java Reflection前言上次学了Java RMI相关的知识后,感觉收获挺大的,今天跟着H0t-A1r-B4llo0n师傅继续学习Java 反射机制这篇文章算是读完师傅文章做的一些记录吧什么是 Java Reflection...
2021-12-01 11:04:12
3241
原创 Java RMI 学习笔记
Java RMI 学习笔记什么是 JAVA RMI ?JAVA RMI 的流程 .JAVA RMI 的简单例子1.服务端编写一个远程接口2.要想调用远程接口 , 还需要一个实现类3.RMI服务器端最近想学习一下Java相关的安全知识,就找了几篇文章来学习下,从Java RMI开始吧什么是 JAVA RMI ?RMI ( Remote Method Invocation , 远程方法调用 ) 能够让在某个 Java虚拟机 上的对象像调用本地对象一样调用另一个 Java虚拟机 中的对象上的方法 , 这两个
2021-11-28 23:17:04
2648
1
原创 [GKCTF 2021]CheckBot
[GKCTF 2021]CheckBot<html> <body> <iframe id="flag" src="http://127.0.0.1/admin.php"></iframe> <script> window.onload = function(){ /*
2021-11-25 10:56:19
3030
原创 [GKCTF 2021]easycms
[GKCTF 2021]easycms这题进去就如下图所示试着点了一下,所有东西都不能跳转,也就是说这个页面没啥可用的扫目录扫出了个admin.php,账号密码是admin/12345登陆后找一找有没有漏洞点在导出主题这里发现了个文件下载base64解码猜测存在任意文件下载拿到flag...
2021-11-22 13:07:07
597
原创 [GKCTF 2021]hackme
[GKCTF 2021]hackme进入题目后,题目如上所示,查看页面源代码提示nosql,这里推荐WHOAMI大佬的文章这里源代码我们也看到了php头,那我们就看大佬文章里php中的nosql注入部分就行这里数据包是json格式,我们试一下重言式注入被过滤了,提示也说了,可以用Unicode绕过成功绕过,这里放的是ne,意思为不等于,可以再试试eq,我把用户名的换成了eq,可以看到这个报错,应该是用户名对了,密码不对(ne和eq前面要有$符号的,csdn不知道为啥写不出来)既然如此
2021-11-21 13:36:33
2522
2
原创 [GKCTF 2021]babycat-revenge
[GKCTF 2021]babycat-revenge一进入题目界面如上所示,简简单单,没法注册,登录试了下弱口令还有注入都不是,也没有什么其他页面找不到线索就抓个包来看看好家伙,这个注册页面的注册代码露出来了,大概意思是得传入username和password才能注册,默认是不传值所以无法使用这里源代码显示传值得传json数据,且得是POST方式注册成功后登录又看到了熟悉的上传功能和下载功能,这里先抓包看看下载功能这个包这个下载的文件路径,不用多说也知道,任意文件读取吧这里它已经
2021-11-17 11:16:49
2573
原创 [PASECA2019]honey_shop
[PASECA2019]honey_shop进入题目后如下所示我试了下,能点的也就是一张图片还有可以买各种各样的物品这里我们能看到我们的金额只有1336,但是flag要1337,差1块才能买flag,既然买不了那就四处看看吧点了图片会将图片进行下载,抓包查看下这种包的形式可能会存在任意文件读取,不妨试试成功读取到了/etc/passwd,本想直接读/flag,但是没有这里这个任意文件读取暂时用不上后,再去找找其他地方吧这个是购买物品的包,传入的item参数是物品序号,也没啥有用的信息
2021-11-06 01:16:35
722
原创 V&N2020 公开赛 CHECKIN
V&N2020 公开赛 CHECKIN这题直接给出了源代码,不是很多,也很简单直接访问/flag是拿不到flag的而访问/shell虽然可以执行一条传入的命令,但是它会把存放flag的txt文件给删掉而且由于/shell路由返回的是1,所以我们是看不到命令执行后的回显的,那就只能弹shell了因为这里是python环境下,所以去找了python环境下反弹shell相关文章emem我就拿了这个改成了自己的vps地址,这里得注意一点,估计是靶机环境的缘故,得是python3才能执行p
2021-11-05 12:49:05
1344
原创 DASCTF Oct X 吉林工师 迷路的魔法少女
DASCTF Oct X 吉林工师 迷路的魔法少女挺久没做php的题目了,有点捞,我写的博客主要也都是分享自己的思路,欢迎各位大佬指点话不多说,直接进入正题这题题目直接给了源代码,典型的php命令执行题目吧,做这类题我一般喜欢先找可利用函数,毫无疑问,这题就是eval了这题目eval这里的利用好奇怪,说实话,可能因为做得少我是没见过这种形式的,所以直接百度了一下看看有没有相关的利用这里有点运气好haha,直接搜到了有篇文章有相关源代码这篇文章直接就分析了String2Array($dat
2021-11-04 00:26:48
374
原创 [虎符CTF 2021]Internal System
[虎符CTF 2021]Internal System虎符的这题看到很多大佬都在说这道题很好,所以找来做一做这题一开始根据提示/source有东西,可以直接找到源代码const express = require('express')const router = express.Router()const axios = require('axios')const isIp = require('is-ip')const IP = require('ip')const UrlPars
2021-11-02 15:17:59
3463
原创 [2021祥云杯]secrets_of_admin
[2021祥云杯]secrets_of_admin这题也是直接提供了源代码老样子,先看看有没有啥危险函数,没发现的话只能一个路由一个路由慢慢的审了先看主路由吧有get和post两种请求方式get请求应该就是正常访问该页面post请求获取了username和passwd后,判断完数据类型就把他们传递给了DB.Login()DB.Login()应该是把用来判断用户输入的用户名和密码和数据库保存的是否一致来判断登录回到主路由的代码,如果登陆成功,他会把用户的一些信息仍token里接下来看
2021-09-12 00:47:29
1038
原创 [2021祥云杯]cralwer_z
[2021祥云杯]cralwer_z这题我在buu上做的,直接给源代码了,不知道比赛时是不是也这样这个文件的目录就是这些东西,还是js代码,有点烦,话不多说,审代码还是正常的从路由开始审起吧.这里提一下,我审代码喜欢先看各个路由,然后找危险函数,逆着去找利用链,我觉得这样的查找效果较好先看index.js的,这里的就是简单的注册代码,没啥可以利用的接下来看一看user.js吧我审js代码也不是很多,也不知道有啥危险函数可以执行系统命令或者是读取文件,就去网上搜了一下,基本上都是php的,估计这
2021-09-09 01:12:56
1165
原创 [网鼎杯 2020 玄武组]SSRFMe
[网鼎杯 2020 玄武组]SSRFMe最近想学习下ssrf,就找了些文章看看找些题做做,学习的话推荐WHOAMI大佬的ssrf文章,内容全面且详细话不多说进入这次的题目,进入网址直接给出源代码<?phpfunction check_inner_ip($url){ $match_result=preg_match('/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/',$url); if (!$match_result) {
2021-08-29 00:56:14
3615
10
原创 [BSidesCF 2020]Hurdles
[BSidesCF 2020]Hurdles这题进入后如上图所示,按要求访问/hurdles按要求访问方式改成put访问路径加上/!get参数的值为flag传入”&=&=&“之前需要对其进行url编码,得%26%3D%26%3D%26,最后加上任意值:这里的提示是其实仔细观察可以发现是两行,所以需要让&=&=&的值等于%00(换行符),其后还包含了一个换行符,也是进行url编码,%2500进行URL解码之后就是%00,得:%2500%0
2021-08-24 01:30:16
695
2
原创 Linux的/proc/self/学习
Linux的/proc/self/学习最近做的[SWPU2019]Web3和[pasecactf_2019]flask_ssti好像都涉及到了/proc这个目录,所以找篇文章来学习下,看了这篇文章才发现作者是搬运之前我就关注的一个大佬WHOAMI的文章,之前复现漏洞看的就是大佬的文章,这会回去看才发现大佬的博客好像关了,这也让我下定决心要把自己所学的东西记录下来,就算是搬运也要自己记录下来,一昧的收藏文章哪天大佬们把博客关了那就真的GG了。话不多说进入正题/proc目录Linux 内核提供了一种通过
2021-08-23 01:15:54
9393
2
原创 [SWPU2019]Web3
[SWPU2019]Web3进入题目是一个简单的登录界面,没有注册,用户名和密码都是自己随意输入,源代码也没有可用信息随便试一个用户名密码登录看看会将用户名显示出来,那猜测这里可能存在ssti模板注入漏洞,但尝试了各种可能的模板注入姿势,发现都不行,这里还有个upload按钮,考点可能在这边,点击以后页面如下图所示提示没有权限然后就跳转到登陆界面了。这就很头疼了,完全不知道考点是啥,但毫无疑问的就是考点一定是flask架构相关的,尝试Google一波看到了一些flask架构除了ssti之
2021-08-22 01:07:45
800
原创 [GWCTF 2019]你的名字
[GWCTF 2019]你的名字打开题目后界面如上所示,你输入什么名字后就会显示出来说实话,这种题不出意外应该就是模板注入没跑了试了下{{2+2}}直接报错,还是报的php的错,但是{2+2}就可以正常显示出来,这就说明{{可能被过滤了,而{可能没被过滤,所以我们再试一些只要{}就能用的句子试试,如{% set a=“test” %}执行完了以后虽然没有回显但也没有报错,说明正常执行了这句话,确定了考点是模板注入后就得想想怎么绕过了上网找了一篇模板注入绕过相关文章这里用了if语句执行命令
2021-08-20 00:36:25
1986
1
原创 [HITCON 2016]Leaking-nodejsVM沙箱逃逸
[HITCON 2016]Leaking最近想学下nodejs相关的题目,所以去buu上又找了一道来做进入题目后如上图所示,直接给出了源代码,老样子,拿出之前收藏的nodejs相关安全问题来对比着看看,我发现这里用了VM沙箱,那最有可能考的就是VM逃逸了emem由于之前没做过,说实话,光看这个完全不知道该怎么做,还是老实找个大佬的WP来看看吧那我们先来分析下代码,下面这段代码是整道题的核心/* Orange is so kind so he put the flag here. But
2021-08-19 00:51:51
761
原创 [GYCTF2020]Ez_Express-原型链污染学习
[GYCTF2020]Ez_Express-原型链污染学习最近学习下nodejs相关的题目,所以做了这道题进入题目界面长这样简单的试了下功能,也就是一个登录注册按钮,登陆后如下所示要求需要ADMIN登录,这是一个不能注册的账户,而且我们又不知道密码没法进行下去的时候试一试扫描目录,结果还真扫出了源代码通过审代码我们发现,注册的时候调用了safeKeyword函数,这个函数使我们注册时不能用admin,但是又需要题目要求用ADMIN登录才行这里我是正好看了做上一道js题目时收藏的tric
2021-08-18 01:10:48
2789
原创 [GYCTF2020]Node Game-nodejs通过拆分攻击实现的SSRF攻击
[GYCTF2020]Node Game漏洞:通过拆分请求实现的SSRF攻击假设一个服务器,接受用户输入,并将其包含在通过HTTP公开的内部服务请求中,像这样:GET /private-api?q=<user-input-here> HTTP/1.1Authorization: server-secret-key如果服务器未正确验证用户输入,则攻击者可能会直接注入协议控制字符到请求里。假设在这种情况下服务器接受了以下用户输入:"x HTTP/1.1\r\n\r\nDELETE /p
2021-08-16 01:09:01
1778
3
原创 [BSidesCF 2019]Pick Tac Toe
[BSidesCF 2019]Pick Tac Toe进入环境后题目如下就一个reset按钮,除此之外,什么也没有看看源代码吧由此我们不难看出,九宫格每一个格子对应一个id,源代码中也已经提示了发包的方式,那这题应该是需要我们去赢得这场游戏的胜利这游戏正常下有点难赢,但它有个漏洞就是就算画了圈圈的地方我们也能打叉叉,胜利后成功拿到flag...
2021-07-10 00:56:21
284
原创 [极客大挑战 2020]Roamphp1-Welcome
[极客大挑战 2020]Roamphp1-Welcome题目进入后环境如下一开始我还以为是题目环境出了问题,后来注意到报错是405,百度了一下405才知道是开发人员设定的,可能是请求方式不对这道题一开始用的是GET请求报了405,那换成POST试试成功爆出源代码,下面是一个常见的php中sha1函数的绕过,用数组就行在phpinfo的信息中成功拿到flag...
2021-07-09 23:55:19
778
原创 [RootersCTF2019]babyWeb
[RootersCTF2019]babyWeb进入环境如下他已经提示SQL查询,过滤了:union、sleep、’、"、or、-、benchmark我们用order by测试字段数我们发现order by 1和order by 2都是正常显示,到了order by 3就如下报错,说明只有两段,一个为uniqueid另一个应该就是flag那么应该就是输入id判断登录,即可,尝试万能密码登录:1 || 1=1 limit 0,1拿到flag...
2021-07-09 23:38:16
385
原创 [pasecactf_2019]flask_ssti
[pasecactf_2019]flask_ssti进入题目后如下图所示因为题目本身就提示ssti了,我也就直接尝试有没有过滤了这里过滤了下划线,使用十六进制编码绕过,_编码后为\x5f,.过滤的话我们直接用[]包含绕过这里过滤了单引号,我们用双引号绕过这题过滤已经找完了,接下来是构造相当于执行{{class}}相当于执行{{class.bases[0]}}相当于执行{{class.bases[0].subclasses()}}下面贴一个脚本用来找可用类import js
2021-07-05 00:38:17
2818
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人