自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GHCTF-web-wp

显然,注入点很明显直接看有几个字段,试出来5个2,3,4,5有回显看上面推荐的文章,直接打payload查到表后查flag此题可以用sqlmap,只是这里过滤了agent,所以得用--random-agent绕过。比如查表随机切换UA(User-Agent),space2comment.py 是指用/**/代替空格。

2025-03-29 18:22:47 838

原创 nodejs-原型污染链

还是老规矩,边写边学,先分享两篇文章。

2025-03-26 22:35:41 767 1

原创 25长城杯-ccforum-代码审计

,record_banned,1,(path[4]无要求),第一行是绝对不可能,因为username被base64加密,所以第一行就构造不了…/,record_banned,1,),record_banned,1,Failed to create record directory for?看这个代码知道,log_id是唯一生成的,不可控制,e_username被加密,不好控制进行目录穿越,action要=record_banned,success=1,所以只能控制additional(它刚好为空)

2025-03-24 21:04:35 749

原创 ctfshow-xxs-316-333-wp

316.反射型 XSS(-326都是反射型)js恶意代码是存在于某个参数中,通过url后缀进行get传入,当其他用户点进这个被精心构造的url链接时,恶意代码就会被解析,从而盗取用户信息。来看题,先简单测试一下是xxs直接注入(代码意思是浏览器解析这段代码时,会弹出一个警告对话框,显示当前网页的所有 Cookie 信息)弹出flag=你不是管理员。显然,由于我们不是管理员,所以cookie参数是不正确的。

2025-03-15 22:57:42 770

原创 ctfshow-web-351-360-ssrf-wp

(如果不行,就在hackbar多execute几次,因为可能第一次解析的是127.0.0.1然后通过不了过滤,多试几次就好了)这题有2个解法,第一个是利用dns重绑定,第二个是利用自己的vps。这题看似多了一个过滤,但是没有过滤句中没有变量,所以相当于没有过滤,直接打paylaod。提示无密码打mysql,试试发现returl发现ssrf,并跳转到check.php文件。绕过127.0.0.1,但是被禁用了,所以只能利用进制绕过了。注意,ssrf.php需要在根目录,二就是要加上端口。

2025-03-15 14:31:14 623

原创 ICLESCTF-web-misc-wp

查看源码gif取证,那就是分析那一gif图片了,随波逐流直接gif分帧查看,在cc翻到。

2025-03-10 00:33:14 886

原创 2021陇剑杯复现

打开然后统计--协议分级可以看到http占多数。

2025-03-06 12:25:20 998

原创 ctfshow-jwt-345-350

直接私钥签名,生成jwt后,将get方法改成post(有审计代码可知)发包得flag。在jwt.io中修改密钥(弱口令猜一下123456),改一下admin即可。当然,只交改了的部分也行 ,即[{"sub":"admin"}]的编码。下面这博客,是在values改的,也是只能交payload才行。上面是使用脚本,其实直接一段一段修改后base64编码拼接就好了。这里我是在values实现的,bp不知道卡了还是怎么滴,没出来。之后就没什么说的了,直接替换cookie就行。访问路由,发现此题只有公钥泄露。

2025-03-03 17:22:36 742

原创 第一届启航杯-web-misc(全)

简单的伪协议。

2025-02-28 21:20:35 919

原创 ctfshow-ssti-web361-372-wp

今天开始学习ssti,分享几篇文章,由易到难,初学者仔细看完,基本上可以上手了。//这篇一定要认真看,一定!一定!一定!我大概花了1小时仔细看了看,现在开始做题找找感觉。一般大部分题目都是python的jinja模板。

2025-02-20 21:02:00 1062

原创 湘岚杯web-misc-wp

打开压缩包发现全是嵌套压缩包和些txt。直接随波逐流一把梭。得到一堆txt。翻到最后找到flag。

2025-02-10 13:05:48 891

原创 第二届cnctf-misc-图寻-wp

题目提示结合背景,显然年代比较老,然后是干工地所有一般是软包,因为硬的容易被挤坏,所以是利群老版(确实脑洞,出题人显然想让我们试出来,或者exe反编译)。至此,misc复现完毕,题目相当好,就是有些地方设置不是很合理,根本想不到,比如那个moximoxi,我爆破了很久,不过出题人说他20分钟就好了,可能我的电脑不行吧。太难了,说实话,第一关都过不了,谁能猜到这个密码。至此,misc与图寻全部复现完毕,还是学到很多东西,涨知识了,第一次做图寻,知道以gogle为准,gogle识图,地图确实好。

2024-12-22 14:59:28 1082

原创 ctfshow-web 151-170-文件上传

这题先绕过前端与后端限制,然后利用要改成一个php文件上传,因为user.ini必须需要目录下有php文件,然后user.ini写入日志文件。这里我放犯了一个错误,开始的图片马我是将木马写入一个txt文件,然后改成jpg文件,然后不行,后面想了一下,htaccess将图片马视为php文件执行,所以我将木马写入php文件,然后再改成jpg,最后成功。首先上传.user.ini,然后上传shell.png,然后上传不了,猜测php被过滤,换成段表签形式上传,成功。然后上传文件,然后下载文件时抓包。

2024-12-12 00:14:47 2599

原创 ctfshow-misc-1-56-图片隐写详解

1.解压得到。2.拖进010,发现是pngPNG:文件头格式为89 50 4E 47 0D 0A 1A 0A,文件尾格式为49 45 4E 44 AE 42 60 82。所以将txt文件改成png,即可。3.下载后打开这图片就行。

2024-12-10 14:38:41 973

原创 ctfshow-web-123-150-wp

通过$_SERVER['argv']将$a变成数组,再利用数组的性质将fl0g=flag_give_me传入,同时还绕过第一个if中的!执行eval函数也就是执行$c即是parse_str($a[1]),使得fl0g=flag_give_me,从而进入第三个if语句。所以我们我们输入的ctf_show是get传参,然后被$_SERVER['QUERY_STRING']获取赋值给$url,然后进行waf匹配,所以其实就是?,先学习一下这个函数,第一个参数是被调用的函数,第二个是调用的函数的参数。

2024-12-02 23:49:45 1014

原创 封神台-misc-osint-wp-1-20

看了官方wp,人有点不好了,flag进过ascii加密是102,108,97,103,然后敏锐的发现前4个除了第一个,其它都等于原文数字-13,我们尝试83-13=70,恰好是F,那么段就是Flag,我们编写脚本将所有字符-13。53是l,21是a,41是g,94是z,52是k,21是a,72是q,74是s,42是h,和起来是flagzkaqsh。rc4解密要密码,显然,提示与描述就是密码,其实我看不懂,但是看看官方wp。将09改成08,然后保存,然后就可以解压缩,得flag。

2024-11-29 14:19:28 1030

原创 ctfshow -web -118-124

能够返回1,则需要让前一条命令是错误的,这个错误命令的返回值就是1这里的话可以用 <A,然后就是${RANDOM::1} RANDOM函数输出随机的整数,1表示输出一个整数,而1被过滤,使用$?在RANDOM中产生的随机数可以是1、2、3、4、5这个5个数,但1,2,3这三个出现的概率很低,所以基本上是4或5,因此如果要使用RANDOM的话其实也有碰运气的成分在里面,没准就撞到了正确的数。这题有源码,跟上题差不多啊,只限制字符不能超过65,就用上面第二个payload,多试两次试出来了。

2024-11-26 00:58:03 1243

原创 ctfshow -web 89-115-wp

这个与赣ctf有道题差不多,我是直接传入num=4476a,intval(4476a,0)会将4476a转换为4476,或者把4476转为其它进制,intval(参数,0)会根据参数的进制进行相应转换。这题看似与90很像,但是一个==,这个===,并且90第一个if内是强等于”4476“(字符串)所以这题只能用小数绕过,进制绕过,科学计数法绕过(?所以字符串(输入的)要有0,但是要是0在开头,第三个if里还是ture,所以8进制不行(其实也可以,前面加空格),所以0以小数的形式出现。(所以要%00截断)

2024-11-24 19:48:47 2363

原创 2024赣ctf-web -wp

这个game就直接数组绕过,没什么说,然后two与flag限制了字符,所以要强碰撞,这⾥使⽤⼯具fastcoll,现将我们已知的写⼊⼀个txt⽂件中,在将⽂件拖到⼯具上就会⽣成两段加密后相等的md5值了,因为会纯在不可⻅字符,所以要将⽂件编码,这⾥给出php脚本,放在统⼀⽬录下,或者指定⽂件路径也⾏。结语:赣ctf对当时的我太难了,学了一段时间才来复现,也只是复现了一些php特性的题,后面的php反序列,还要什么pop本想钻一下,靶场关了,所以复现完这些代码题结束。}闭合前⾯的语句,然后⽤/*注释掉;

2024-11-22 23:27:37 2046

原创 ctfshow-web-78-88,web116-117-wp

这里利用什么session包含反序列化,看不懂了,大佬说下面一下脚本解决。直接看上文,换个思路。>,记得去等号,因为等号被过滤。这给要杂项的知识,有点不会啊,反正最后分离出这东东(以后再来,我要迅速学)。我用python脚本得到下面这个,相比上面没有@,但是就是错。然后经历2次url编码,hackbar一次,代码要求一次。看到这里,心里挺感动的,我会加油,努力成为大黑客。这里data,php全被过滤,可以看看此文章。先上2篇文章,相当好,至少现在我不能写这么好。

2024-11-19 23:51:37 853

原创 ctfshow-web 66-77

应该是在flag.txt里,读取它,c=highlight_file('/flag.txt');然后还是用上面的代码,哦,记得将文件名改成flag36d.txt,还有等号的url编码改成=。本来想用上面的脚本,但是没用,下面的大佬给了解释,说好像啥strlen被过滤了,然后看提示好像是直接查数据库。还有,找到根目录后可以用下面75题的方法,直接从数据库里面找,注意要将等号的url编码换成等号。那就扫描一下目录,即有c=print_r(scandir('.'))查看当前目录。这里scandir被被禁用了。

2024-11-16 17:00:06 1210

原创 web -51-65-wp

上传的这个临时文件会保存在 /tmp/ 下,且文件名一定是 php 加上六个随机的字符,即 /tmp/php?这里的读取文件的命令好像被禁用了,那我们就用php函数读取文件,可以利用show_source,highlight_file(),readfile()读flag.php,至于为什么,猜测用dirseach可以扫出来。c=/bin/base64 flag.php,因为字母被过滤,所以直接通配符过滤,所以有/?但是因为字母被过滤,所以还是通配符过滤,构造得/?发包构造payload /?

2024-11-14 00:09:51 1097

原创 2023Newstar-week2-web-wp

1首先ctrl+f搜索100000,一般都可以找到达到分数条件时的代码,然后分析可以用gpt分析代码知道该函数主要功能是在玩家达到一定分数阈值时,通过Ajax方式向/api.php发送玩家json数据包,同时重置游戏状态以开始新一轮游戏,而显然score:gamescore就是数据对象。可以抓包,也可以直接在控制台改分数。2.这个是文件包含,直接伪协议解决(直接用文件源码读取):base被过滤了,用utf-7编码。utf-7解码得

2024-11-13 00:36:26 1271

原创 2023Newstar-week1-web -wp

得到password=114514,接下来要解决e_v.a.l,根据官方wp解释,这时候如果直接按这个变量名来传参,php 是⽆法接收到这个值的,具体原因是 php 会⾃动把⼀些不合法的字符转化为下划线(注:php8以下),⽐如这个点就会被转换为下划线,另外这种转换只会发⽣⼀次。这里第一关,get提交的key1与key2不同,但md5哈希值相同,这里我用的是数组绕过,当传入数组,md5值都为NULL,实现相等。

2024-11-08 00:07:34 1110

原创 2024NewStar-week1-2-web-wp

我们要查看当前文件system(ls),就要逆向思维,要得到 ls,那其实cmd解码,我们那我们将ls base64编码得到的就是cmd.那怎么得到传入的key呢?代码审计:get 传入 new,post 传入 star,要求二者不相等并且 new 经过 sha1 加密要等于 star 经过 md5 加密,则可以 post 传入 cmd 命令进行调用,有一点正则的过滤,之后输出返回结果。,要用这个网址,先复制token,加上密钥后然后将level改成0(一个一个尝试),然后得出新的token。

2024-11-05 22:32:53 754

原创 web 40-50-wp

system('cat flag.php')=("%13%19%13%14%05%0d"|"%60%60%60%60%60%60")("%03%01%14%00%06%0c%01%07%00%10%08%10"|"%60%60%60%20%60%60%60%60%2e%60%60%60") .(截图好像漏了一个空格 是 %00 %20)c=show_source(next(array_reverse(scandir(pos(localeconv())))));,就用||,上面大佬有讲,截图一下。

2024-10-31 23:43:30 1272

原创 web 29- 39-wp

这个还过滤了php,所以构造为/?这个还过滤了cat,sort,shell,点,单引号,空格。0-9也被过滤,所以1要变成a,所以有?此题flag被过滤,文件名过滤,可以通配符,反斜杠,双引号绕过,然后读取文件利用cat函数,输出利用system,passthru;

2024-10-30 14:55:27 914

原创 web 21-28 爆破

(intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1) === intval(substr($token, 31,1)) 将第 2、15 和 18 个字符转换为整数相加,再除以第 2 个字符的整数值,检查结果是否等于第 32 个字符。看网上爆出了7758521,但是字典没找到,有点奇怪,还有就是我这爆出来数据链接失败,也可能是爆不出来的原因。

2024-10-25 01:15:08 961

原创 SHCTF -week 1-2-web -wp

文件存在并且 Flask 应用有权限读取它,那么这个命令将返回文件的内容。如果这个操作成功,它将返回文件内容,否则返回错误信息。),就是原url/api?由代码知构造URl(构造这个 URL 的原因是为了通过 Flask 应用的 API 端点执行。解码得SHCTF{dc4b4b74-d29e-4263-8372-219154efad76}然后URL/s3recttt得到app.py文件。看代码,发现一串base64 字符。进行get与post上传。查scretddata内容。先打开robots文件。

2024-10-22 10:19:49 461

原创 ctfshow web1-20详解-信息收集

ctfshow 1-20 详细解答

2024-10-15 17:05:44 702

空空如也

空空如也

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

TA关注的人

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