我flag呢
直接查看源代码即可Ctrl+U
[SWPUCTF 2021 新生赛]Do_you_know_http
用Burpsuite抓包,之后在User-agent下面添加XFF头,即X-Forwarded-For:127.0.0.1
[SWPUCTF 2022 新生赛]funny_php
首先是php的弱比较,对于num参数,我们可以咏科学计数法绕过,如num=9e9,这样就能通过if判断语句
紧接着是php的强比较,它这里用到了一个preg_replace的函数,此时我们可以用双写进行绕过,如str=NSSNSSCTFCTF,这样也能通过判断语句
再接着是md5值的一个弱比较,常用md5加密后为0的字符串:240610708,aabg7XS,saabC9RqS,s878926199a,此时可以在post下构造md5_1=240610708&md5_2=s878926199a,同样也能通过判断语句
最后,如果L1,L2,L3都存在的话就可以包含出flag.php
?num=9e9&str=NSSNSSCTFCTF
POST:md5_1=240610708&md5_2=s878926199a
[MoeCTF 2022]ezphp
这道题目进行简单的php代码审计即可,里面涉及到的内容为变量覆盖
第一种:输出$giveme
要想得到flag,就要使变量$giveme=$flag,那么我们可以看到foreach函数
它能让flag覆盖了giveme这个变量,那么payload就是/?giveme=flag。当我们尝试着传入参数后,发现,并没有给我们flag,而是输出can can need flag!,也就是说它执行了下面这句,那么我们还需要传flag参数
而传入flag参数后就必然逃不过下面这个if,传入的flag参数的值要等于某一个键值名并且这个键值名不能为flag
既然前面已经传了一个giveme参数,那我们就构造?giveme=flag&flag=giveme,输入后,发现如下直接返回了flag,也就是说,代码退出了并输出了flag
第二种,对于getout参数也是如此
[SWPUCTF 2021 新生赛]caidao
这道题涉及的知识点为RCE回显/信息收集
这一题用蚁剑连接即可,密码为wllm,flag在根目录下的flag目录
也可以在POST上传参,1.构造payload:?wllm=system('cat /flag');
2.构造payload:?wllm=echo `cat /flag`;
[GXYCTF 2019]Ping Ping Ping
这道题涉及的知识点为RCE回显,可以用变量拼接方法以及执行系统命令方式
首先我们可以简单的输入地址127.0.0.1,发现界面成功回显,接着我们使用管道符|进行拼接,构造payload如下:127.0.0.1|tac$IFS`ls`; 期间这道题目对空格、flag以及符号进行了过滤
[SWPUCTF 2021 新生赛]include
这道题目看到include就可以知道考察文件包含的内容
看到题目说传个file试试,我们很快可以联想到php中file的伪协议,因此可以直接构造payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
界面回显的是一串base64加密的字符,我们再将下面字符进行base64的转换
转换之后如下 :得到flag
<?php
$flag='NSSCTF{157284c3-4864-440d-b123-1d5e41bd48bc}';
[GXYCTF 2019]BabyUpload
看到upload就知道要考察文件上传绕过的知识
先上传一个后缀名为php的文件,发现进行了过滤,提示如下
我又试了大小写,双写,特殊后缀名绕过的方法,发现均不能绕过,我们用.htaccess文件进行绕过,先上传一个.htaccess文件,文件内容<FilesMatch ¡°.jpg¡±>SetHandler application/x-httpd-php</FilesMatch> //这是把php文件都当作jpg的图片格式
接着我们再修改上传文件名以及Content-Type内容:image/jpeg,发现上传成功,利用蚁剑连接即可
[SWPUCTF 2023 秋季新生赛]ez_talk
首先正常上传一个jpg图片,BP抓包后得到
后面我们在上传的文件名进行修改为1.php,并且准备好相关文件,再一句话木马上添加GIF文件头进行绕过(GIF的文件头比较好写,其他文件的话需要进行十六进制进行改写),修改如下
网站上进行访问解析,看是否上传成功,成功之后用蚁剑进行连接即可
[NSSRound#8 Basic]MyDoor
这道题目涉及到Linux的系统变量以及url编码规则
对于这道题呢,什么提示都没有,但是看到file协议我们可以先得到它的源码,利用php伪协议获取源代码
?file=php://filter/read=convert.base64-encode/resource=index.php
得到的是经过base64加密的,我们解密可以得到,发现N_S.S可以执行命令函数
注意要把符号_变成[ 否则后面的.会变成下划线,构造payload
?file=&N[S.S=system(%27env%27);
这里的env为Linux的系统环境变量,因为题目有提示为后门文件 ,得到FLAG