基于Flask的SSTI入门~
2021-01-19 19:00:37 Author: xz.aliyun.com(查看原文) 阅读量:208 收藏

SSTI(服务器端模板注入)
在python的SSTI类型里主要框架为:jinja2,mako,tornado,django,flask内默认使用的模板渲染引擎为jinja2所以其语法也一致
SSTI漏洞成因
当用户输入的数据没有被合理的处理控制和过滤时,有可能插入程序从而改变程序的执行逻辑,因而导致敏感信息泄露,代码执行,getshell
Flask基本语法

  • {{ ... }}:装载一个变量,渲染模板的时候,会使用传进来的同名参数将这个变量代表的值替换掉
  • {% ... %}:装载一个控制语句 if..
  • {# ... #}:装载一个注释,模板渲染的时候会忽略这中间的值
    过滤器:在html中传入的变量进行处理,其格式{{变量|过滤器}},以变量作为参数的函数返回处理后的结果upper()/lower()/length()函数等..
    搭建Flask环境--以pycharm为例
    pip install virtualenv 安装虚拟环境
    python -m virtualenv env 开启虚拟环境
    pip install flask 安装flask

即在本机访问http://127.0.0.1:5000/ 便可得到hello 2333!
route路由
app.route("..")route装饰器的作用是将函数与url绑定起来,使用route()告诉Flask什么样的URL能够触发函数
带参数的路由


当你在地址栏中输入http://127.0.0.1:5000/hello/Sviivya0- 将看到Hello Sviivya0-这个字样,URL里的参数被作为参数传进来当然还有int,float,path
| 转换类型 | 作用 |
| ------------ | -------------- |
| int | 整型 |


文章来源: http://xz.aliyun.com/t/9026
如有侵权请联系:admin#unsafe.sh