记录模块注入学习过程
题目:Web_python_template_injection提醒是模块注入
- 在Jinja2模板引擎中,{ {}}是变量包裹标识符。{ {}}并不仅仅可以传递变量,还可以执行一些简单的表达式。
模块注入测试:
网址输入“{
{1*21}}”页面显示21,说面存在“SSTI”
在其他大佬的博客中收集的相关知识:
-
SSTI也是获取了一个输入,然后再后端的渲染处理上进行了语句的拼接,然后执行。当然还是和sql注入有所不同的,SSTI利用的是现在的网站模板引擎(下面会提到),主要针对python、php、java的一些网站处理框架,比如Python的jinja2
mako tornado django,php的smarty twig,java的jade
velocity。当这些框架对运用渲染函数生成html的时候会出现SSTI的问题。 -
os模块都是从warnings.catch_warnings模块入手的,在所有模块中查找catch_warnings的位置,为第59个
查看catch_warnings模块都存在哪些全局函数,可以找到linecache函数,os模块就在其中 -
instance.class 可以获取当前实例的类对象
-
clas