
CTF-Web
文章平均质量分 73
夜风Sec
Lifelong Learning
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Buu-两个web题解
关注公众号,回复获取相关资料,不定时分享各种工具资料。原创 2025-02-20 00:51:34 · 698 阅读 · 0 评论 -
25-2-16[Buu-两个Web题解]
> 这个函数两个参数,第一个参数提供字符串,第二个提供统计模式(0, 1, 2, 3) 0是默认值-> 1:返回字符串中每个字节出现的次数;3:以整数形式返回。原创 2025-02-18 00:37:06 · 744 阅读 · 0 评论 -
JWT-混淆算法
生成有不同的jwt数据 -> 通过工具生成公钥 -> 尝试弱公钥生成私钥 -> 私钥可以生成jwt数据。原创 2024-10-31 23:25:55 · 624 阅读 · 0 评论 -
9.26 Buu俩题解
另外说一下,我看那个Xsspayload编码绕过,估计是通用的哎,只要将明文改一下,就跟着编码了( 我的payload用的是公网的,Wp中是Xss平台,不一样的,但是编码部分我没改,也能过)上面这个js代码,我不知道是在干嘛,不清楚,但是能看到 construcor加上wp的说明,感觉是找到Function这个原型。后面是 跳转到公网IP的php文件url,参数是cookie,值是document.cookie用来获取管理员Cookie值。这个验证码,写一个py脚本就行了,我直接复制的wp中的。原创 2024-09-26 20:33:03 · 1178 阅读 · 0 评论 -
Buu平台---Nodejs两个题解
的构造函数传入数字时, 会得到与数字长度一致的一个。8.0 之后的版本可以通过另一个函数。语言自身只有字符串数据类型,没有二进制数据类型。类,该类用来创建一个专门存放二进制数据的缓存区。时,必须使用到二进制数据。版本中 (8.0 之前),当。->通过undefsafe污染。->进而执行exec函数。看到了引入了vm2模块。来获得未清空的内存。undefsafe包。commands属性。原创 2024-09-24 14:16:30 · 446 阅读 · 0 评论 -
Buu-Web两个记录
尝试抓包,发现有Session数据,尝试对Session进行解密,我不知道为什么jwt.io网站解密不出来,用脚本解密。打开题目环境,给出计算式子,返回计算结果,发现只能输入运算符和数字,输入字母就会报错,随便尝试的时候,输入。那么思路就来了 -> 我们直接输入字母会遭检测 -> 通过直接伪造Session来输入。通过脚本,依据秘钥,编写执行语句(注意格式)-> 这里的双引号转义的原因我也不知道。路由抓包,修改Session,提前监听端口,发包,成功反弹shell。看了wp说,通过这个报错来获取信息。原创 2024-09-17 14:00:56 · 753 阅读 · 0 评论 -
Buu-Web两个题解
一旦这个结果为NULL, 那么下一次的hash加密的 秘钥为空,我们也就可以得到了最终的密文。的作用:这里是exec(), 用;分割前面的nc, 后面加上自己想执行的命令。这里我用ls命令没有看到flag,用dir命令就可以看到,不知道为什么。一个文件上传(检测ip为127.0.0.1):由于这个检测的方式是。服务端会对url进行访问 -> SSRF -> 由服务端进行的请求。很明确,秘钥未知,如何知道通过sha256加密之后的值?如果传入数组, 加密的结果为NULL。无法通过HTTP头伪造。原创 2024-09-15 15:16:09 · 501 阅读 · 0 评论 -
Buu-Web两个题解
通过白名单给出的字符串,异或整数,来看有没有可能rce。我自己只过了一遍,中间加有自己的注释,黑名单中过滤了[] -> 用{}绕过。3.使用的字符串要包含在白名单中。1.输入的字符长度不能超过60。2.输入的字符不能有黑名单。#修改2的值即可rce。原创 2024-09-14 18:12:13 · 1160 阅读 · 0 评论 -
Buu [watevrCTF-2019]Pickle Store
注意python反序列化的使用,pickle库,load反序列化,dump序列化。原创 2024-09-11 14:19:01 · 481 阅读 · 0 评论 -
[BSidesCF 2019]SVGMagic
svg标签属性(应该是对图片尺寸的描述) => 保证图片够大,包含全部flag。随便上传一个svg图片 抓包发现有数据格式是svg+xml。这个题目说是SVG,环境中告诉我们是将SVG转换成PNG。proc/self/cwd ==> 代表当前路径。svg是基于xml的 => 容易想到xxe注入。原创 2024-06-03 13:14:53 · 373 阅读 · 0 评论 -
[CSAWQual 2019]Web_Unagi
且在About中告诉我们了,flag位于 /flag ==> 使用file协议直接读取本地文件**(这里指的是,我们上传文件给服务器,服务器解析文件,读取的是服务器的本地文件,也就是flag文件)**|:管道符,将前一个的结果(2.xml文件内容),作为下一个命令的输入 ==> 将内容进行编码的转换。发现是xml数据格式,且存在上传文件的功能 => 联想到 XXE注入(引用外部实体)-t:指定输出文件的编码格式是UTF-16BE(大端字节序)-f:指定输入文件(2.xml)是UTF-8编码格式。原创 2024-05-31 11:48:50 · 578 阅读 · 0 评论 -
[MRCTF2020]Ezaudit
这个题来说:我们要在 PHP5.2.1 - 7.0.X版本区间运行代码,这样得到的私钥才是正确的。用脚本将公钥转换为可以被Php_mt_seed识别的数据 => 破解出种子 ==> 运行得到私钥。中的 sql查询语句) password变量可控(单引号闭合,后面加注释符)第一时间竟然没想到源码泄露www.zip,还是自己扫目录扫到的。注意PHP版本,不同的PHP版本爆破出来的结果是不一样的。给出的www.zip文件中只有一个index.php。根据index.php中的代码,原创 2024-05-30 11:41:29 · 455 阅读 · 0 评论 -
Buu - [GKCTF 2021]easycms
这是一个chanzhiEPS搭建的网站,看到版本是7.7,去网上搜相关版本有没有漏洞,题目中提示了后台密码是5位的弱口令。可以选中首页的代码,这样的话不需要找目录了[ 每一种框架都可能存在自己的目录检索方式 ]这后面的数据一看像是base64编码后的数据,进行解码,发现是一个文件对应的绝对路径。尝试将这个路径改为/flag=>base64编码,然后执行下载得到文件,我在这里抓包修改下载链接,不知道为什么下载出来的不对。这里得到的是.zip文件,直接用010打开即可。原创 2024-05-22 14:14:27 · 393 阅读 · 0 评论 -
Buu - [BJDCTF2020]EzPHP
打开环境看源码,有个base32编码的数据,解码之后得到访问解码出来的路径 - 代码审计-> 也就是说,我们所有以GET方法传入的参数,都会经过这个正则匹配进行url编码绕过(但一般的url编码不会对普通的字符进行编码,Bp中的url编码对普通字符进行了编码)payload:url编码后的:最后一个点是,create_function()注入基本原理:两个函数:var_dump():https://www.php.net/manual/zh/function.var-dump原创 2024-05-21 12:49:25 · 615 阅读 · 0 评论 -
Buu - [GYCTF2020]EasyThinking
看到这里的PHPSESSID即为我们登录时修改的PHPSESSID值,那么我们的key会保存在 tp6 默认的session文件处。flag是在根目录下的,但是我们无法看到flag内容,发现这里有readflag文件 => 运行readflag来得到flag。格式的文件,这里的xxx是PHPSESSID(32位),而文件的内容就是session的内容。存在一个post传参,我们搜索的值也就是key的值,会保存在 PHPSESSID文件中。扫目录,发现有源码文件www.zip 访问下载。原创 2024-05-20 13:10:12 · 373 阅读 · 0 评论 -
October 2019 Twice SQL Injection
这里的bs4模块,只是让结果更简介,去掉了html的标签,不要这个也没事,下载方法自己百度吧,因为我也是百度的,我自己只会pip instlal +模块名字 -i。无非就是注意自己的python版本,有时候编者用的python2编写,但你的环境是python3, 而有些模块在不同python版本的名字是不一样的。怎么说呢,我觉得这个题适合我们练习脚本的编写,方法是最简单的联合注入(union select),但需要保持会话(session)下载模块的时候无非就是注意这几点,其他没什么的。原创 2024-05-16 18:29:40 · 511 阅读 · 1 评论 -
[CISCN2019 华东南赛区]Double Secret
当secret传入的值不符合会报错(很长的时候就报错了- -),观察报错内容,我自己看的时候没啥感觉,看完别人写的,嗯,还是不够敏感。这返回的有flask,app.py,python,再加上secret参数,很容易联想到ssti注入。也不知道为什么,脚本和网站加密同个payload 结果不一样,但都可以出flag。这里是通过工具进行rc4加密 + url编码。原创 2024-05-15 14:52:47 · 603 阅读 · 0 评论 -
Buu - [网鼎杯2018]Unfinish
但同时,如果是 1’ or ‘1’='1 又能成功注册,这是肯定是单引号闭合,但是因为不能在后面跟注释符,如何进行闭合。解析:注册账号,将信息放在数据库中,登录进来比对数据库,将对应用户名拿出来回显在页面中。注入点在注册页面的用户名处,测试过滤了什么 => 单引号 语句后面跟注释符也被过滤。-> url/register.php => 有回显,可以注册账号。-> 注册完进来之后没有什么信息,能观察的就是左边有自己的用户名。流程:注册账号 -> 登录进来 -> 回显的是用户名。原创 2024-05-14 13:01:18 · 391 阅读 · 1 评论 -
Buu - [SUCTF 2019]EasyWeb
> 这个函数两个参数,第一个参数提供字符串,第二个提供统计模式(0, 1, 2, 3) 0是默认值-> 1:返回字符串中每个字节出现的次数;3:以整数形式返回。原创 2024-05-07 10:54:59 · 556 阅读 · 0 评论