自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 收藏
  • 关注

原创 【Web】2024XYCTF题解(全)

/','ch3nx1',preg_replace('/[A-Za-z_]+/','',$this->cmd)))这段正则是将输入中的字母、下划线和括号都移除,并将连续的分号替换为字符串 'ch3nx1' ,最后与'ch3nx1'比较判真。是一个特殊的语言结构,用于在脚本中立即停止编译器的解析。函数可以执行多行命令,但如果其中的某一行命令出现错误,PHP 解释器将会停止执行并抛出一个致命错误,索性这个man已经被注释了,为了命令执行,我们需要做的就是换行和注释掉mamba out。

2024-04-30 16:30:20 601

原创 【Web】D^3CTF之浅聊d3pythonhttp——TE-CL请求走私

后端不会接收到,但是前端可以),这样一来就绕过了对于BackdoorPasswordOnlyForAdmin的检测,进行pickle反序列化,靶机不出网,可以结合web.py的add_processor方法注内存马(就是在访问路由后执行lambda表达式命令)jwt解密的过程是去jwttoken的header中取kid字段,然后对其拼接/app/得到文件路径,但我们不知道secretkey在哪个文件中,这里只要指定一个不存在的文件名就可以用空密钥去解密。指定一个加密的空密钥,再把取解密密钥的路径置空。

2024-04-29 11:56:34 636

原创 【Web】记录CISCN 2023 西南半决赛 seaclouds题目复现

至于如何调用toString,对于原生反序列化,走BadAttributeValueExpException最为方便,对于Field型的非原生反序列化, 如果对于Map的反序列化过程有类似HashMap#put的实现,就可以考虑HotSwappableTargetSource利用链。最后的最后,题目调用了getPayload(),这个方法是GenericMessage类的,这也印证了我们反序列化得到的结果是个GenericMessage对象。拿到源码似乎并没有直接给出反序列化入口,也没有看到waf。

2024-04-25 22:11:04 1002

原创 【Web】随便写写的pyjail刷题记录(1)

Python中内置了一个名为breakpoint()的函数,在Python 3.7中引入,用于在调试模式下设置断点。使用breakpoint()函数会停止程序的执行,并在IDE或命令行中进入调试模式,可以单步执行程序,查看变量的值等。符号通常被用于 Jupyter Notebook 或类似的交互式环境中,用来执行系统命令,而help()正是个能交互式的界面。在python2中,input函数从标准输入接收输入,并且自动eval求值,返回求出来的值。拿到backdoor的key,而后便可为所欲为。

2024-04-24 17:57:47 798 1

原创 【Web】HNCTF 2022 题解(全)

过滤了php . log flag :,选择打临时session文件包含。base64解码后读到Rea1web3he11.php源码。简单fuzz一下,ban了这么些,一眼顶针,无列名注入。就是一个wakeup的绕过,然后读文件用伪协议。然后随便输入一串手机号直接拿到flag。就是ssrf往flag.php发请求。连蚁剑,flag在/var目录下。base64解码拿到flag。提示访问./f14g.php。base64解码拿到flag。base64解码拿到flag。一眼顶针,藏flag鉴定为烂。

2024-04-22 20:17:38 1305

原创 【Web】log4j打JNDI专题刷题记录

高版本下打jndi不能加载远程恶意类,所以选择打二次反序列化的方式,用的是fj1.2.8的原生反序列化链子。运行生成的base64payload再放进恶意LDAPServer的回包中。这次换JNDIExploit来打,简单又方便啊家人们😋。访问/webstudy/hello-fengxuan。javac Rev.java得到Rev.class。1339端口起一个恶意ldap服务器。把恶意字节码放在1338端口。起恶意LDAPServer。监听,反弹shell。监听,反弹shell。监听,反弹shell。

2024-04-21 12:25:30 484

原创 【Web】DASCTF X GFCTF 2024|四月开启第一局 题解(全)

康好康的图片功能可以打SSRF,不能直接读本地文件,比如/etc/paswd /proc/1/environ。后来题目给了hint让打session反序列化(不是我寻思你附件也妹给session_start啊)大体思路就是先反序列化给record.php写入

2024-04-20 18:08:54 1540 15

原创 【Web】DASCTF X CBCTF 2022九月挑战赛 题解

再以admin登录,去买flag,发现还是有限制要绕(就是传入的json数据不能包含flag关键字)直接照着打也打不通,高版本模板注入RCE入口的location估计不能是search了。发现其是从url中接参,最后做一些简单的拼接并替换掉正在执行的模板文件。一顿逻辑走下来后发现没有waf,到此我们就可以成功得到恶意的模板文件。经过验证可以进行一个任意文件的读,但不知道flag路径,走不下去。搜索sn,发现传入的参数是score和checkCode。先随便登录一下 ,有10元,但flag要11元。

2024-04-19 14:34:31 903

原创 【Web】2022DASCTF X SU 三月春季挑战赛 题解(全)

存在两个命令执行的地方,eval和system,因为waf过于严格,不考虑在eval处利用,可以注释藏恶意代码,用``在system中执行。这disable_functions让人想自杀,过于严格,甚至连不上蚁剑。再去base64解码包含一下,即可用到新的上传逻辑。先修改下上传文件逻辑,把对文件后缀的waf去掉。再回到写的webshell,putenv一下。监听,反弹shell,拿到flag。成功反弹shell,提权,拿flag。先在vps上放一个恶意sh文件。下载恶意sh文件到本地并执行。

2024-04-18 23:07:09 480

原创 【Web】2022DASCTF MAY 出题人挑战赛 题解(全)

注册时传入{{.}}获取当前对象信息,就可获取jwt的secretkey,再令is_admin为true伪造jwt即可获得flag即可。sys_auth函数默认$type为0是加密,传入$type为1是解密。那只要用$type=0默认值,反过来加密我们欲下载恶意文件的url即可。/flag路由下只要is_admin为true就可以读flag。默认的$key为常量Mc_Encryption_Key。弱口令admin/123456/123456登录。带着伪造的jwt访问/flag拿到flag。

2024-04-18 16:56:19 541

原创 【Web】AFCTF 2021 题解(部分)

随便做做,环境是NSS上的。

2024-04-18 10:35:35 672

原创 【Web】NewStarCTF 2022 题解(全)

响应头进行Set-Cookie,显然一个base64编码,所以打入的时候也要base64encode一下。对关键词有过滤,无法大小写绕过,测出select,update,insert和union都被ban了。之前刷NSSRound赛的时候多次碰到Apache/2.4.49的RCE漏洞,这题也是现搜就完了。访问/upload/base64yjh.png,连蚁剑,读/flag。主要是空格的处理,/**/和/*关键字*/都被ban了,可以用%0c。抓包,看响应头,看到是Apache/2.4.50。

2024-04-17 22:25:00 1144

原创 【Web】陇原战“疫“2021网络安全大赛 题解

HashMap类的作用是触发hashCode,而BadAttributeValueExpException类的作用是触发toString,看本题的源码,后续可以直接调用object.toString,上帝在关上一扇门的同时又开了一扇窗。恶意类懒得注内存马,直接打spring回显类。打入,直接回显命令执行结果,拿到flag。wget也可以外带数据,详见贴出的文章。靶机不出网,那就是打加载恶意字节码呗。/wget路由无需鉴权,可直接打。监听,反弹shell,拿flag。监听,接收到外带的数据。

2024-04-16 23:12:33 454

原创 【Web】2022DASCTF Apr X FATE 防疫挑战赛 题解(全)

spl_autoload_register函数实现了当程序遇到调用没有定义过的函数时,会去找./class/函数名.php路径下的php文件,并把它包含在程序中。于是退一步,用同样的方式去读/var/www/html目录下的upload.php和edit.php。尝试去读/proc/1/environ和/flag均响应403,显然权限不够。访问/uploads/head.png,成功读到/etc/passwd。建立了链接,同时flag也没有被覆盖,然后访问。监听,反弹shell,拿flag。

2024-04-16 18:22:28 620

原创 【Web】Dest0g3 520迎新赛 题解(全)

通过故意将文件名和目录名混用,以及改变一个项目在文件系统中的类型(从文件到目录),来创建一个难以解压的ZIP文件。在Cookie处rO0A起手,明显是java序列化的base64编码,可以打入反序列化。打靶机,解压失败,但是其是在解压出部分文件后直接exit,从而绕过后续的unlink。这题估计也可以打php://input和日志包含,感兴趣可以试一试。生成的phar文件在010editor中打开,删去最后一个}D这个类对文件可以写可以读,用来打phar反序列化。访问/tmp/jyh.php回显404。

2024-04-16 11:15:25 1198

原创 [羊城杯 2020]a_piece_of_java 刷题记录

反序列化->info.getAllinfo()->(动态代理)InfoInvocationHandler.invoke()->Databaseinfo.checkAllInfo()->Databaseinfo->connect()利用点在/hello路由,在cookieData处打入反序列化。这题考的是JDBC_Attack,可以自行看下面文章。MySQL_Fake_Server配置改下。但定义了白名单输入流,不能直接打CC链。然后有spring依赖,可以打CC。监听,反弹shell,拿flag。

2024-04-15 11:52:33 405

原创 【Web】WUSTCTF 2020 部分题解

1/**/UnIon/**/select/**/1,2,3# //回显3。改Content-Type,文件内容加个GIF89a魔数。访问/fAke_f1agggg.php。随便注册个账号,更换头像功能存在文件上传。抓包看响应头看到/f14g.php。第一反应搜CVE,但没搜到有用的。过滤了空格,测出来有sql注入点。简单的bypass,不解释了。直接读环境变量拿到flag。访问/robots.txt。访问/f14g.php。可以搜索找到上传的路径。连接蚁剑,发现权限不够。

2024-04-15 07:55:29 316

原创 【Web】DASCTF2022.07赋能赛 题解

这类常用的字符和关键字,可以用 attr() 配合 unicode 编码绕过。JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具。的形式来bypass。Show类文件操作可以触发phar反序列化。使用gzip压缩来绕过对文件内容的检测。监听,拿到flag(补全{}即可)进来有两个功能,一个查看,一个上传。过滤print 关键字,则只能用。访问/SUPPERAPI.php。前端过滤不用管,禁用js即可。图片查看功能可以任意文件读。读文件触发phar反序列化。过滤{{}},我们可以用。

2024-04-14 17:10:35 554

原创 【Web】DASCTF X GFCTF 2022十月挑战赛题解

之后对Test类的后门进行利用时要绕过wakeup,靶机是高版本php,不能用CVE-2016-7124打,但因为这题的特殊性,所以哪怕不绕过也可以玩。User::__wakeup()里username的值可以被赋值为 $_SESSION[“username”]的值,而这个值是我们可控的。因为反序列化时会先执行对象的成员属性的值的__wakeup再执行此对象的__wakeup,即先执行内层再执行外层,所以可以有如下利用。以. ./*登录,则可执行system('. ./*')

2024-04-14 11:36:58 1065

原创 【Web】DASCTF 2023 & 0X401七月暑期挑战赛题解

让俺看看401web题。

2024-04-13 10:43:48 1124

原创 【Web】NSSRound#1-20 Basic 刷题记录(全)

3、之后执行content.innerHTML = data.message.content,发生报错,执行Error.prepareStackTrace,通过 callsite.getFunction()获取当前调用栈的函数,也就56-65这段的匿名函数,再callsite.getFunction()(),让这段匿名函数再次执行。1、插入了img标签,使得56-65这段匿名函数执行停止,去加载img外部引用,因为没有外部引用,所以触发img的error,执行js代码。提供应用的健康信息。

2024-04-11 17:35:19 1600 4

原创 【Web】CTFSHOW-ThinkPHP5-6反序列化刷题记录(全)

纯记录exp,链子不作赘述。

2024-04-08 16:45:40 600

原创 【Web】CTFSHOW-2023CISCN国赛初赛刷题记录(全)

主打一个精简。

2024-04-08 09:51:44 769

原创 【Web】纯萌新的CISCN刷题记录(1)

主打一个精简。

2024-04-07 13:55:57 1550

原创 【Web】纯萌新的BUUCTF刷题日记Day1

刚学会F12看源码,每天做个一页题,吃嘛嘛香。

2024-04-06 17:42:22 1156

原创 【Web】2024红明谷CTF初赛个人wp(2/4)

时间原因只打了2个小时,出了2道,简单记录一下。

2024-04-03 23:08:04 1136 2

原创 【Web】记录Polar靶场<困难>难度题一遍过

​​​​​​​最后还剩了两题,有点累了,后面有空就补上。

2024-04-02 21:41:19 1117

原创 【Web】记录Polar靶场<中等>难度题一遍过(全)

反正持续一个月,感觉XYCTF也不急着打,再沉淀沉淀吧(

2024-04-01 20:06:20 985

原创 【Web】记录Polar靶场<简单>难度题一遍过(全)

明天XYCTF开始,今天干啥也不是,过过签到八股吧。

2024-04-01 00:44:31 1002

原创 【Go】面向萌新的Gin框架知识梳理学习笔记

Gin 是一个用 Go 语言编写的 Web 框架,它提供了一组强大的工具和功能,用于快速构建高性能的 Web 应用程序和 API。在 Gin 中,通过调用GETPOSTPUTDELETE等方法可以定义不同 HTTP 方法的路由,并指定相应的处理器函数。// GET 请求")})// POST 请求// 处理 POST 请求})模板文件通常是.html文件,里面可以包含静态的 HTML 标签,也可以包含用于动态数据绑定的模板语法。Gin 使用 Go 标准库的包作为模板引擎,支持所有的功能。

2024-03-31 17:29:34 782 1

原创 【Web】NSSCTF Round#20 Basic 两道0解题的赛后谈

本想着说看看go的gin框架就睡了的,r3师傅提醒说赛题环境已经上了,那不赶紧研究下😀主要来谈谈做题的心路历程。

2024-03-31 03:39:41 1176 2

原创 【Web】NSSCTF Round#20 Basic 个人wp

目录前言真亦假,假亦真CSDN_To_PDF V1.2感谢17👴没让我爆零直接getshell不行,那就一波信息搜集呗,先开dirsearch扫一下扫的过程中先试试常规的robots.txt,www.zip,shell.phps,.git,.svn,还有抓包看响应头响应体,均无果,最后扫出来是个/flag,乐愉快地访问/flag即可 参考题目:[BUUCTF][FireshellCTF2020]URL TO PDF-CSDN博客先随便试试成功收到请求,注意到UA是WeasyPrint vps上挂1

2024-03-30 19:32:17 1003

原创 【Go】面向萌新的速通Golang基础语法学习笔记(详细)

在Go语言中,函数的定义使用func// 函数体:函数名,遵循标识符命名规则。parameters:参数列表,形式为参数名 类型,多个参数间用逗号分隔。returnType:返回值类型,可以是单个类型或多个类型组成的元组。函数体:实现特定功能的代码块。创建一个自定义的处理器MyHandler,并将其用于处理 HTTP 请求import ("fmt""net/http"")

2024-03-29 16:49:08 1433

原创 【Java】浅聊JavaAgent插桩实现RASP防御恶意类命令执行

Java Agent 插桩技术是一种在 Java 应用程序运行时动态修改字节码的技术。通过 Java Agent,可以在目标 Java 类加载时对其字节码进行操作,例如插入、修改或删除字节码指令,从而实现对目标类的增强、监控或调试等功能。Java Agent 插桩技术通常结合使用字节码操作库(如ASM、Javassist等),通过在目标类加载时注册 ClassFileTransformer,对类的字节码进行动态修改。来将agent的jar包注入到对应的进程,然后对应的进程会调用agentmain方法。

2024-03-28 09:10:10 580

原创 【Java】浅聊应用ASM CoreAPI修改字节码那些事

本文速通下ASM最最萌新直观的部分,理解浅薄,纯小白文pom依赖。

2024-03-27 22:56:07 736

原创 【Web】NKCTF 2024 个人wp(部分)

属实太菜了,3/4。

2024-03-24 20:09:31 1754 1

原创 【Web】记录CISCN 2021 总决赛 ezj4va题目复现——AspectJWeaver

这就是当年传说中的零解题嘛😭,快做🤮了有了之前的经验,思路顺挺快的,中间不知道为啥一直一直一直一直报错,耗了一个下午总算打通考的是AspectJWeaver写恶意字节码到靶机上(本题jsp靶机不解析),再去对其进行反序列化值得一提的是,本题并未在输入流进行黑名单过滤,事实上就是纯粹的原生反序列化,但因该jdk下无利用链可打,所以只能先迂回写入一个恶意类,再对这个恶意类进行反序列化操作,实在是巧思!

2024-03-22 22:37:11 1209

原创 【Web】浅聊Fastjson原生反序列化——原理与高版本绕过

当向List、set、map这些涉及哈希表的类型中写入对象时,会在handles这个哈希表中建立从对象到引用的映射,当再次写入同一对象时,在handles这个hash表中查到了映射,就会通过writeHandle将重复对象以引用类型写入,自然readObject反序列化的时候也就会走到readHandle分支。经p4d0rn师傅提醒,序列化的时候会带上很多不必要的属性,比如父类的类名之类的信息都会被带上,payload是有缩短的空间的。

2024-03-22 11:07:36 1322

原创 【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链

2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下😋。

2024-03-21 18:13:55 1245

原创 【Web】浅聊Jackson序列化getter的利用——POJONode

这是我们不希望看到的,所以要在当前classpath下创建个新的BaseJsonNode,并将原来的writeReplace方法删除或注释掉,如此便能正常完成利用链相关调用。方法是 Java 中的一个特殊方法,它在序列化过程中起着重要作用。writeValueAsString是jackson序列化自带的入口,在调用该方法的过程中将会通过遍历的方法将。POJONode中不存在有toString方法的实现,在其父类的父类。bean对象中的所有的属性的getter方法进行调用。

2024-03-21 09:46:17 664

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除