
CTF
文章平均质量分 56
CTF题
follycat
一个学习web的菜狗
展开
-
git泄露
使用lazygit查看历史增加与减少。使用git log 查看提交历史。使用githacker。原创 2025-03-20 01:00:00 · 106 阅读 · 0 评论 -
CommonsBeanUtils学习
上面提到了javaBean对象,那么javaBean对象是什么呢?javaBean是一种java的软件组件模型, 它通过封装属性和方法成为具有某种功能或处理某个业务的对象。我理解起来就是,在一个public的java类中,有无参的构造函数,并且存在一个或者多个private的属性,而且提供了公开的get/set方法的类就是javaBean。也就是下面三个要素该java类是公共的并且具有无参构造函数存在一个或者多个私有的属性有公开的getter与setter方法。原创 2025-03-20 00:45:00 · 604 阅读 · 0 评论 -
LineCTF2022--gotm
和2022DASCTF MAY 挑战赛-fxygo基本一样。然后伪造jwt访问flag即可得到答案。然后再到/中ssti注入,得到key。然后是auth,返回一个token。首先regist,是需要注册。原创 2025-01-23 15:12:39 · 211 阅读 · 0 评论 -
2022DASCTF MAY 挑战赛-fxygo
ssti+jwt伪造。原创 2025-01-23 10:23:42 · 404 阅读 · 0 评论 -
楚慧杯Web
【代码】楚慧杯Web。原创 2025-01-17 19:20:59 · 321 阅读 · 0 评论 -
春秋杯-WEB
从而找到DownUnderCTF2022的题目。通过返回包,可以看到PHP版本为8.1.31。可以看到主页那里有个登录测试之后为ssti。fenjing梭哈即可得到payload。通过github脚本进行读取flag。看到题目名字为file_copy,当输入路径时会返回目标文件的大小,id改为1admin改成true。一个为上传位置,另一个为解压位置。先随便创建一个账号,然后登录。通过代码审计可以得出链接位置。拼接得到软链接的路径。原创 2025-01-17 19:28:56 · 683 阅读 · 0 评论 -
bestphp‘s revenge
a)就变成call_user_func(‘call_user_func’,array(‘SoapClient’,’welcome_to_the_lctf2018’)) ,即调用 SoapClient 类不存在的 welcome_to_the_lctf2018 方法,从而触发 __call 方法发起 soap 请求进行 SSRF。用到了变量覆盖把b改为了call_user_func,这样数组第一个就是类名,第二个是welcome方法不存在调用_call,然后传入name=SoapClient,这样。原创 2024-12-21 17:36:56 · 424 阅读 · 0 评论 -
[N1CTF 2018]eating_cms
登录完成,自动进入user.php?page=guest。这个题感觉还好,知识点真心不难,就是全混在一起。首先看到,有一个登录界面,然后猜测有注册界面。admin注册不了,随便注册一个账号。然后看到包含了function.php。然后看到m4aaannngggeee。将page传入伪协议,尝试读取内容。看到 parse_url函数过滤。所以可以使用两个//进行过滤。进行访问后看到一个上传界面。真正的在filename。文件名可以直接执行命令。注册之后,进行登录。原创 2024-12-21 17:35:41 · 298 阅读 · 0 评论 -
楚慧杯-Web
仔细阅读代码后发现要得到Flag很简单:先传参wq让其等于"二仙桥",而后利用extract函数覆盖变量pubcky让其不等于"二仙桥"即可执行反序列化代码。序列化代码中,__wakeup()函数是在对象被实例化后立即调用的,只要让其中的yuki(即where_you_go)等于molly的值(也就是"dont_tell_you")就可以得到Flag了,那怎么让where_you_go等于我们想要的值呢?可以看到p0pmart.php这个文件存在反序列化漏洞,绕过后即可读到Flag。原创 2024-12-20 20:49:23 · 713 阅读 · 0 评论 -
ciscn2024
但是,突然想到2023CISCN-gosession中go语言的ssti更改了python的app.py,所以app.py是可以更改的,而这个题中app.py可以直接被读取到,所以直接读取到app.py里面去就行了。自己本地搭建一个,并修改下代码,让他变成可以看到回显的ssti,先绕过黑名单再说。然后准备写文件,试了1.txt这些也不太行,其实这时候已经没有啥思路了,本来想提权的,但是到处翻,在/run/log找到flag,就不提权了。进行解密,一个个排出来,就可以得到密码了。然后就得到flag了。原创 2024-12-20 20:46:08 · 638 阅读 · 0 评论 -
[SCTF2019]Flag Shop
使用robots.txt,看到/static/secretkey.txt,但是源码在filebak中,不知道为什么语法为Ruby的语法所以思路为Ruby模版注入。发现secret的输出方式,其中ruby预定义变量里,在$'后会最后一次匹配字符串,所以进入代码后is working不被ruby代码解析,然后使用ERB模版进行注入。所以传入/work?SECRET=&name=is working得到:构造后,将jwt解码得到flag原创 2024-12-11 20:22:24 · 1133 阅读 · 0 评论 -
[GYCTF2020]Easyphp
然后admin登录,密码随便,得到flag。总共有343个字符,多加几个union。反序列化 、字符逃逸。原创 2024-12-09 23:57:12 · 334 阅读 · 0 评论 -
[HDCTF 2023]LoginMaster
查看robots.txt,查看源码。password是注入点。用户名要为admin。时间盲注得到表为空。原创 2024-12-09 23:55:55 · 277 阅读 · 0 评论 -
[NSSRound#7 Team]ec_RCE
shell_exec()函数,讲白了就是可以执行“”里的内容并保存到output里。所以,直接使用管道符让后面的data进行命令执行,因为有‘’包裹data。看着挺长其实没有什么用,将其当成127.0.0.1就行。我们也包裹一层,让其不影响传参。原创 2024-12-08 19:40:21 · 307 阅读 · 0 评论 -
无回显rce
将|前得到的数据输入到1.txt文件中。如果明显变慢则可以执行,为无回显。| 可以直接执行后面的语句。原创 2024-12-01 22:18:57 · 271 阅读 · 0 评论 -
[CISCN2019 华东南赛区]Web4
伪随机数规则,设置random.seed(),uuid.getnode()获取设备地址,就是获取网卡地址。地址在/sys/class/net/eth0/address下。代码审计,任意文件读取,伪随机数。解出:137.056313707。放入/flag中的cookie。使用python2跑脚本。使用脚本进行加密,解密。原创 2024-11-28 23:32:30 · 343 阅读 · 0 评论 -
[Black Watch 入群题]Web
除了有点慢,其他都还好。原创 2024-11-28 23:31:31 · 149 阅读 · 0 评论 -
SQL注入整理,不太全
在CTF比赛中,攻击者通常需要通过分析目标应用程序的代码和网络流量来确定注入点,并尝试不同的注入方法来绕过验证和获取敏感信息。基于错误的注入利用应用程序在处理SQL查询时产生的错误信息来获取敏感数据。CTF中的SQL注入是一种常见的攻击技术,攻击者通过构造恶意的输入来绕过应用程序对用户输入的验证和过滤,从而执行未经授权的数据库操作。始终返回 true,因此查询将返回所有用户记录,而不是仅与提供的用户名和密码匹配的记录。基于堆叠查询的注入是一种高级的注入技巧,它可以使攻击者在单个请求中执行多个SQL查询。原创 2024-11-20 23:07:18 · 808 阅读 · 0 评论 -
[安洵杯 2019]iamthinking-parse_url绕过thinkphp6.0反序列化
首先,序列化以*__destruct()*开始,我们可以搜索这个函数,最后,我们找到位于vendor/tothink/think-orm/src/Model.php中的这个函数。所以往下走,看到getChangedDate()函数,这个函数也没啥,后面那个if当data不为空时就已经触发不了了,所以我们跟进checkAllowFields函数。前面那个if可以不要管,默认就是不能触发的,然后就是checkData()函数,这个函数如果我们跟进去其实可以发现就是个void。原创 2024-11-19 23:18:19 · 1028 阅读 · 0 评论 -
SQL注入注入方式(大纲)
PHP在处理提交数据前就会进行一次url解码,然后urldecode()函数又进行了一次解码。若mysql_real_escape_string()在urldecode()之前,则不会过滤urldecode()产生的单引号。例如:构造id=1%2527(%25=%),解码一次后会变成1%27,再进行解码变成id=1‘,单引号引起注入。如果存在Base64_decode()函数,并且没在后面有过滤直接拼接到SQL语句中,则导致了SQL注入。在进行GBK编码时,将%df%5c看成一个宽字符,得到。原创 2024-11-17 22:32:27 · 1260 阅读 · 0 评论 -
文件包含(总结or大纲)
使用前4个函数包含新的文件时,只要文件内容包含符合php语法规范,任意扩展名都可以被php解析,当包含非php语法规范时,将会暴露其源代码。后两个函数会造成敏感文件读取。include()等函数通过动态变量的方式引入需要包含的文件。攻击者可以控制该动态变量。总的来说,就是有可以传入include()等函数的可控变量。原创 2024-11-17 22:29:16 · 480 阅读 · 0 评论 -
羊城杯2024,python反序列化
然后直接传入即可反弹shell,本来以为是第二个反序列化点进行触发的,再加上没有读取到密匙,所以卡了挺久,而真正的触发点在get_cookie中的cookie_decode函数那个反序列化点,进行反弹。只要绕过就行,使用opcode语句进行手搓payloud,反弹shell,然后附上加密脚本。这个是secret_code 这个卡了好久,就是没看到这个东西。审代码可以发现他的解密逻辑和构造逻辑。同样读取app.py。原创 2024-11-16 20:15:50 · 222 阅读 · 0 评论 -
ISCTF2024
先审源码,纯js题这段代码实现了一个基本的用户认证系统,包括用户注册、登录、和受保护的页面(/index),所有这些功能都使用express和一些其他中间件来处理 HTTP 请求和 Cookie 管理。原创 2024-11-16 20:13:38 · 1068 阅读 · 0 评论 -
[Black Watch 入群题]Web
除了有点慢,其他都还好。原创 2024-11-15 01:14:41 · 412 阅读 · 0 评论 -
羊城杯2020Easyphp
我们可以进行尝试绕过,只要绕过单引号就行,然后使用&字符进行同时执行。当然我们现在还不知道要传啥Cookie,我们到robots.txt里面看看。将木马传入2.php中配合蚁剑进行查看env得到flag。看到可以返回最后一个文件,所以我们可以注入一句话木马。尝试过后可以发现,题目绕过了read后面的编码。我们可以尝试双重urlencode进行绕过。发现Cookie要为GWHT,其实可以猜到。看到url,可以想到伪协议读取。同样,我们也可以伪协议进行读取。由我们的代码可以知道有绕过。然后我们可以看到搜索框,原创 2024-11-12 21:13:26 · 660 阅读 · 0 评论 -
Pickle Store
Pickle反序列化,也就是python反序列化。传入Cookie即可反弹shell。cat flag*就行。原创 2024-11-11 20:00:12 · 349 阅读 · 0 评论 -
Node Game(CRLF注入)
CRLF是由CR和LF俩个字符拼接起来的,CR代表回车\r,LF代表回车\n,全称为Carriage Return/Line Feed ,十六进制编码为0x0d和0x0a,URL编码为%0D和%0A,CRLF命令即为键盘上的Enter键,大部分程序和网络协议都使用这些命令作为分隔符。在HTTP协议中,HTTP header是由一个CRLF字符序列分隔的,HTTP Header和Body之间是用俩个CRLF分隔的,浏览器通过这俩个CRLF来取出HTTP内容并显示出来。原创 2024-11-10 22:16:13 · 350 阅读 · 0 评论 -
[强网杯 2019]随便注 1
mysql除可使用select查询表中的数据,也可使用handler语句,这条语句使我们能够一行一行的浏览一个表中的数据,不过handler语句并不具备select语句的所有功能。它是mysql专用的语句,并没有包含到SQL标准中。HANDLER语句提供通往表的直接通道的存储引擎接口,可以用于MyISAM和InnoDB表。原创 2024-11-10 22:15:29 · 593 阅读 · 0 评论 -
[极客大挑战 2019]Secret File 1
看到题目应该是一道简单的按照要求找flag的题目。原创 2024-11-09 21:47:33 · 533 阅读 · 0 评论 -
[极客大挑战 2019]PHP 1
猜测备份在www.zip中,输入下载文件。原创 2024-11-08 22:40:06 · 624 阅读 · 0 评论 -
[极客大挑战 2019]LoveSQL 1
又是一道SQL题,还和上面Easy_SQL是一个系列的题。原创 2024-11-08 22:39:35 · 944 阅读 · 0 评论 -
[极客大挑战 2019]HTTP 1
看到题目页面发现没啥东西,直接看源码发现了,Secret.php进入查看题目,发现又是一道跟着提示达到条件的题目。原创 2024-11-07 23:10:41 · 607 阅读 · 0 评论 -
[极客大挑战 2019]Havefun 1
代码查看原创 2024-11-07 23:10:12 · 157 阅读 · 0 评论 -
[极客大挑战 2019]EasySQL 1
网站后台会进行SQL查询,比如。原创 2024-11-06 20:25:01 · 258 阅读 · 0 评论 -
[极客大挑战 2019]BuyFlag1
菜单有一个home,一个payflag查看payflag中的要求具体有三个要求。原创 2024-11-05 21:08:23 · 314 阅读 · 0 评论 -
[极客大挑战 2019]BabySQL 1
还是SQL注入和之前的是一个系列的。原创 2024-11-04 21:45:55 · 551 阅读 · 0 评论 -
[护网杯 2018]easy_tornado
一共有3个界面flag.txthint.txt通过审题得知,flag位于/flllllllllag中,要使用ssti注入,其加密方式为md5(cookie_secret+md5(filename))原创 2024-11-04 21:45:17 · 396 阅读 · 0 评论 -
[ZJCTF 2019]NiZhuanSiWei
看到include_once,是文件包含,使用php://filter伪协议将useless.php中的内容读取出来。传入text,看到有file_get_content函数,这个函数表示读取$text文件里的值,返回字符串。所以要传入text的为一个文件值,所以使用data协议写入参数。看到可以传入file,text,和password三个参数。传入password,看到反序列化,php伪协议,反序列化。原创 2024-11-03 21:47:08 · 585 阅读 · 0 评论 -
[SUCTF 2019]EasySQL 1
判断SQL。原创 2024-11-03 21:46:05 · 438 阅读 · 0 评论 -
[RootersCTF2019]ImgXweb
想到之前的字符串可能是密匙,更改为admin,进行登录。看到robots.txt,看到里面的文件,打开看到。可以看到典型的jwt加密的Cookie。成功后可以看到flag.png。使用curl进行查看。使用curl进行查看。原创 2024-11-02 22:44:05 · 290 阅读 · 0 评论