CTFSHOW-RCE挑战

第一关源码:

分析:post一个请求然后不能出现,和.

初步思路是直接用反引号输出,也就是echo出来一个shell命令

尝试如下:

直接附上payload:

第二关源码:

额,根据我的印象中,这个题需要用自增。

但是居然没有限制长度?只是限制了全数字和全字母

思路:用post构造一个get请求

然后在get请求里面用_和__代替掉system和ls

payload:?_=system&__=ls

第三关源码:

分析:自增加上长度过滤,但是放出来了0和1,可以用01做变[……]

继续阅读

[SCTF 2021]loginme

题目的提示是CVE-2020-28483,我提前去查了一下。A flaw was found in gin when exposed directly to the internet, a client’s IP can be spoofed by setting the X-Forwarded-For header.

意思就是说用了gin框架的会出现漏洞可以用XFF文件头伪造admin

打开题目看到提示:

X-Real-ip:127.0.0.1

注意到这个id和名字,我们切换试试

直到最后换到4,观察结果

让我添加年龄

似[……]

继续阅读

JWT框架

Json Web Token,是一种令牌格式,形式由三部分组成,之间由.连接,(解密网站为:JSON Web Tokens – jwt.io)形式大概就是如下:

三部分分别为1.header:声明了JWT的签名算法 2.payload:承载了各种声明并传递明文数据,例如:username、password等 3.signture:拥有该部分的JWT被称为JWS,也就是签了名的JWS

我们把alg改为none,因为当alg为none的时候,后端将不执行签名验证,也就相当于没有加密方式了,再把username改为admin,secretid改为[],利用脚本生成,脚本:

im[……]

继续阅读

[BJDCTF2020]EzPHP

这道题考点特别特别多,看了许多师傅的WP终于大概理解了这道题

开题看到这个–GFXEIM3YFZYGQ4A=

全大写,还有“=”号,base32

解密之后是1nD3x.php

直接访问,发现是源文件

多重代码审计,一个一个看

(1)

 正则匹配掉了许多我们之后要的参数,$_SERVER[‘QUERY_STRING’]不进行url解码,而GET的传参方式会进行一次解码,因此我们可以把要传的参数进行url编码(此处是对所有字符进行url编码,而不是对特殊字符如空格、引号等进行url编码)即可绕过黑名单限制。(用hackbar[……]

继续阅读

WEB–入门

CTF中的Web题型,就是给定一个Web网站,选手要根据题目所提示的信息,找到网站上的flag字符串。

我们需要掌握一些基本的语言,像PHP、Python、JavaScript等

Web框架:ThinkPHP、Flask等

在学习之前我们需要知道一些常识,也是最基本的常识--源代码

这是我们未来需要面对的最多的东西,有了源码大部分的题目都能找出漏洞

当然我们也不是经常能够遇到直接把源码放在明面上的情况,首先教大家怎么查看前端源码

1.f12

这样打开的就是源码,很多时候这个源码里面会藏着提示

2.鼠标右键查看页面源代码

练习[……]

继续阅读

[CISCN2019 总决赛 Day2 Web1]Easyweb

不允许出现php的字样,用短标签绕过

短标记是用来输出变量或表达式,一般用法是短标签开启short_open_tag = On,配置文件:php.ini

短标记是用来输出变量或表达式,一般用法是
<?=$a?>
<?=(表达式)?>
就相当于
<?php echo $a?>

<?php echo (表达式)?>

[……]

继续阅读

[BJDCTF2020]Mark loves cat

考点

1.git泄露

2.githack下载源码

3.变量覆盖

输出变量$handsome,满足条件$_GET[‘flag’] == = $x && $x !=== ‘flag’

?handsome=flag&flag=x&x=flag

原因第一个是让flag变成参数$handsome,同时要让第二个检测,x不能等于flag,中间另设一个变量x,因为有foreach使我们get请求里面赋值的变量重新赋值为我们的键名

假如我们让a=b,那么最后访问a时得到的就是b

这里的值表面是 x 但前面我们进行了变量覆盖[……]

继续阅读

蜀ICP备2022010829号-1