复现[ACTF2020 新生赛]

admin 2025年1月11日12:34:12评论4 views字数 694阅读2分18秒阅读模式

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

第一题Include

这题还是蛮简单的。打开题目,发现有一个Tip。点击进去后是这个页面
复现[ACTF2020 新生赛]

?file=flag.php

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

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

复现[ACTF2020 新生赛]

之后直接base64解密就好了。

第二题Exec

这题就是典型的命令执行漏洞
复现[ACTF2020 新生赛]

所以我们直接一手127.0.0.1|cat /flag 即可获得flag
复现[ACTF2020 新生赛]

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

BackupFile

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

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

©著作权归作者所有 - source: 535yx.cn

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日12:34:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   复现[ACTF2020 新生赛]https://cn-sec.com/archives/3619450.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息