前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >复现[ACTF2020 新生赛]

复现[ACTF2020 新生赛]

作者头像
YanXia
发布2023-04-07 17:05:01
2460
发布2023-04-07 17:05:01
举报
文章被收录于专栏:YX’blogYX’blog

本次教程来自YanXia,转载请注明作者信息,博客地址http://www.535yx.cn,感谢


第一题Include

这题还是蛮简单的。打开题目,发现有一个Tip。点击进去后是这个页面

50171-yuprqrkqe7j.png
50171-yuprqrkqe7j.png
代码语言:javascript
复制
?file=flag.php

结合题目所给的意思所知,这是道文件包含题。所以我们直接一手php://filter伪协议来读取flag.php的内容 payload如下

代码语言:javascript
复制
?file=php://filter/convert.base64-encode/resource=flag.php
15776-6r75qkvrgdm.png
15776-6r75qkvrgdm.png

之后直接base64解密就好了。

第二题Exec

这题就是典型的命令执行漏洞

54976-786djwy8w8.png
54976-786djwy8w8.png

所以我们直接一手127.0.0.1|cat /flag 即可获得flag

33873-2ekqbnxmgwd.png
33873-2ekqbnxmgwd.png

再这里我想补冲一点相关知识 管道符 | (按位或) 只能执行出最后一个命令 || (逻辑或)哪个命令对就执行哪个命令,可以同时执行 ; 多个命令相互不影响 & 哪个命令对就执行哪个命令,可以同时执行 && 只执行第一个命令。若前面命令为假则直接出错不执行后面漏洞。若只有后面命令出错,不影响前面命令执行

BackupFile

由题目得知,这题是找备份文件,与攻防世界新手那道找备份文件类似,所以我直接一手index.php.bak得到备份文件

32880-o0uqmncl1n.png
32880-o0uqmncl1n.png

is_numeric() 函数用于检测变量是否为数字或数字字符串。 intval() 函数用于获取变量的整数值 php会先将判断输入值是否为字符串。如果是则进入下部份判断,输入的值转换为int整数型与$str 进行对比。而转换后在第一个数字字符之后的值会被清理掉。所以我们只需要构建index.php?key=123即可得到flag

57298-8zdpwjbsdtm.png
57298-8zdpwjbsdtm.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年08月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一题Include
  • 第二题Exec
  • BackupFile
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档