Flask SSTI利用方式的探索】的更多相关文章

Flask SSTI利用方式的探索 一.SSTI简介&环境搭建 ​ 一个统一风格的站点,其大多数页面样式都是一致的,只是每个页面显示的内容各不相同.要是所有的逻辑都放在前端进行,无疑会影响响应效果和效率,很不现实.把所有的逻辑放在后端,又会导致太过复杂,前轻后重. ​ 模板的诞生是为了将显示与数据分离,让前端工作人员专注表现设计,后台人员注重业务逻辑,同时简化代码的复杂程度.模板技术多种多样,但其本质是将模板文件和数据通过模板引擎生成最终的HTML代码. ​ Flask使用Jinja 2作为模板…
总结一下flask ssti的注入语句 代码 import uuid from flask import Flask, request, make_response, session,render_template, url_for, redirect, render_template_string app=Flask(__name__) app.config['SECRET_KEY']=str(uuid.uuid4()) @app.route('/') def index(): try: us…
Flask SSTI | Python3 引言 昨天原本是打算继续python的每日一练的,这次按日程一样是要练习用一个web框架写一个留言板的,于是打算用flask搞一下,但是正打算写的时候,突然想起来之前做的一些SSTI的例子,遂打算先把练习,放一放,来复现一下Flask的SSTI 复现历程 漏洞代码和测试 这次复现参考了不少文章,因为我的环境用的是Python3的,但是现在大多网上有的一些教程都是Python2的,这就导致好多内置函数由于版本的原因用不了,或者被修改了,查阅了不少资料后,终…
总结一下redis未授权拿shell: redis-cli -h ip >info 查看系统类型 Windows: 1.找网站绝对路径 2.config set dir 绝对路径根路径 config get dir config set dbfilename indexbak.php set webshell "<?php phpinfo();?>" save Linux系统: 第一种:写密钥 第二种:写crotab反弹shell 第三种:找绝对路径写webshell…
漏洞分析 使用sqli-lab中的lesson-52作为测试目标.关键代码为: error_reporting(0); $id=$_GET['sort']; if(isset($id)) { //logging the connection parameters to a file for analysis. $fp=fopen('result.txt','a'); fwrite($fp,'SORT:'.$id."\n"); fclose($fp); $sql="SELECT…
之前仅知道svn权限配置不当,会导致敏感信息泄漏,但是一直不知道具体利用方式. 今天测试svn dig时抓包分析才知道: http://www.xxx.com/路径/.svn/text-base/文件名.svn-base 哈哈--…
概述 近日,阿里云安全团队监测到挖矿团伙利用solr dataimport RCE(CVE-2019-0193)作为新的攻击方式对云上主机进行攻击,攻击成功后下载门罗币挖矿程序进行牟利.该团伙使用的恶意脚本与之前报道的“威胁预警 | watchbog挖矿蠕虫升级,利用Bluekeep RDP等多个漏洞蓄势待发”文章所提团伙使用的基本一致,因此基本认为是同一团伙所为. 除此之外,可以合理推测,该团伙一直活跃在寻找新的攻击方式来植入其恶意程序,阿里云安全团队已在第一时间对该利用方式进行了监控,并对该…
Druid简介 1.Druid是阿里巴巴数据库事业部出品,为监控而生的数据库连接池. 2.Druid提供的监控功能,监控SQL的执行时间.监控Web URI的请求.Session监控. Druid可能存在的一些问题 首先Druid是不存在什么漏洞的. 当开发者配置不当时就可能造成未授权访问下面给出常见Druid未授权访问路径 /druid/websession.html /system/druid/websession.html /webpage/system/druid/websession.…
原理python的SSTI不仅可以向网页插入一些XSS代码,而且还可以获取一些变量和函数信息,尤其是secret_key,如果获取到则可以对flask框架的session可以进行伪造.对于tornado框架,render(request, 'account/login.html', {'error': error_msg}如果error_msg用户可控,那么就存在注入.如果error_msg为<script>alert(1)</script>,如果没有过滤则会执行XSS如果erro…
因为Flask比较容易上手,之前也拿flask写过几个小项目,不过当时天真地以为只要在服务器上nohup跑一个python脚本就算是成功发布了这个flask项目.实际上这还面临很多问题,比如并发性不好,不支持异步(虽然也可以在run里面加上threaded之类的参数来解决,但终究不是正途)等等.真正通用的做法应该是用某些web容器来启动项目.接下来说明做法,整个过程主要参考了这篇文章(https://segmentfault.com/a/1190000004294634) 我测试部署的系统是Ce…