UNCTF2020-WEB:L0vephp(文件包含|iconv.utf-8.utf-16)

 

题目给了提示说要获取源码,猜测是文件包含,fuzz后发现action参数能够获取/etc/passwd的内容

使用php伪协议获取源码,发现过滤了base64,于是构造exp如下

 

 这样看的话有点眼花,直接复制不行,在response框中右键保存为文件,然后在Sublime Text中以utf-16编码打开就能正常显示了

 

 

发现里面没有想要的内容,继续查看flag.php的源码,发现了flag,但是验证后这个flag不正确

 

 

还有一个hint的字符串,尝试后得到是16进制,我们将它转为字符串

 

 

继续查看1nD3x.php源码

 

 审计源码得到要绕过两个黑名单、长度不大于16进行代码执行

 

先查看php信息

 

 

data://协议必须双在on才能正常使用;

allow_url_fopen :on

allow_url_include:on

php://input协议要allow_url_include:on才能使用;

 

 

接着使用文件包含和伪协议执行命令

POST http://32aa5649-2054-4bba-9bf5-66dd0d023130.node1.hackingfor.fun/1nD3x.php?code=include$_GET[1];&1=php://input

<?php system("find / -name 'flag*'");?>

 

posted @   LuoSpider  阅读(248)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
历史上的今天:
2019-11-22 MASMPlus连接出错:error LNK2001: unresolved external symbol _WinMainCRTStartup
点击右上角即可分享
微信分享提示