Polar PHP是世界上最好的语言(困难)

代码审计,这里出现了parse_str可以利用get传入_POST[flag1]=8gen1来进行写入_POST\[flag1\]两个赋值,覆盖掉超全局_POST,在extract的时候又读取flag1=gen1和flag2=gen1,接着传入504_SYS.COM,PHP特性:自动转换传入参数名中的特殊字符:. → _(下划线);空格 → _;[ → 被特殊处理(用于数组)

所以传入504[SYS.COM=1&sys=echo $flag

这里没法执行系统命令,也过滤很多符号,因为已经包含flag.php文件,所以应该有$flag变量,直接执行输出得到答案

相关推荐
星释1 小时前
Rust 练习册 88:OCR Numbers与光学字符识别
开发语言·后端·rust
我命由我123452 小时前
Java NIO 编程 - NIO Echo Server、NIO Client(NIO 异步客户端、NIO Selector 异步客户端)
java·开发语言·网络·java-ee·intellij-idea·intellij idea·nio
前端炒粉3 小时前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js
星释4 小时前
Rust 练习册 75:ETL与数据转换
开发语言·rust·etl
happyjoey2174 小时前
使用Qt自带的Maintenance Tool将Qt6.9升级为QT6.10
开发语言·qt
p***h6438 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
散峰而望8 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
Porunarufu8 小时前
Java·关于List
java·开发语言
子不语1809 小时前
Python——函数
开发语言·python