当前位置: 首页 > news >正文

英文自助建站百度导航最新版本

英文自助建站,百度导航最新版本,做公众号推送的网站,iis怎么配置网站python venv环境 可以把它想象成一个容器,该容器供你用来存放你的Python脚本以及安装各种Python第三方模块,容器里的环境和本机是完全分开的 创建venv环境安装flask #apt install python3.10-venv #cd /opt #python3 -m venv flask1 #cd /opt 选…

python venv环境

可以把它想象成一个容器,该容器供你用来存放你的Python脚本以及安装各种Python第三方模块,容器里的环境和本机是完全分开的

创建venv环境安装flask

#apt install python3.10-venv

#cd /opt

#python3 -m venv flask1

#cd /opt   选择路径
#python3 -m venv flask1   创建名为flask1的venv环境
#Is
#cd falsk1  多一个文件夹flask1
#ls   包含所有python组件

#vim demo.py 

#vim demo.py
print("this is test")    在/opt下创建demo.py
#python3 demo.py   直接使用python是系统的组件
执行flask1路径下的python
 

方法一

#/opt/flask1/bin/python3 demo.py绝对路径
方法二

#cd flask1    进入flask1虚拟环境
#source ./bin/activate
##python3 demo.py
#deactivate     退出虚拟环境

安装flask

pip3 install flask --root-user-action=ignore mediapipe -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 

#python3
>>>import flask
>>>quit()

python flask

Flask是一个使用 Python 编写的轻量级 Web 应用框架
其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。

Flask的特点: 良好的文档、丰富的插件、包含开发服务器和调试器 (debugger) 、集成支持单元测试、RESTful请求调度、支持安全cookies、基于Unicode。
Python可直接用flask启动一个web服务页面。

进入虚拟环境flask1
#/opt
#vim demo.py           在/opt路径下编辑demo.py
from flask import Flask         启动flask模块,创建一个Flask类app = Flask(__name__)        name 是系统变量,指的是本py文件的文件名
@app.route('/')路由def hello():return "hello benben"if __name_=='__main__'app.run()       只能被python直接运行而不能被作为组件或模块被调用。

监听所有物理端口

添加端口为80

ssti漏洞成因


渲染模板时,没有严格控制对用户的输入;
使用了危险的模板,导致用户可以和flask程序进行交互,可能造成任意文件读取和RCE远程控制后台系统

演示

这段代码最大的漏洞,就是通过 format() 方法直接对页面的 {0} 参数进行替换,这将造成当用户对参数 id 按照 flask 框架的语法进行赋值时,模板引擎渲染时将会把用户输入当作 python 代码进行执行(但并不能直接执行 python 代码)

from importlib.resources import contents
import time
from flask import Flask,request,render_template_string
app = Flask(__name__)
@app.route('/',methods =['GET'])
def index():str = request.args.get('ben')   //str值通过format0)函数填充到body中间html_str ='''<html><head></head><body>{0}</body>  //0里可以定义任何参数</html>'''.format(str)return render_template_string(html_str)  //return render template string会把内的字符串当成代码指令
if __name__== '__main__': app.debug = Trueapp.run('127.0.0.1','8080')

__name__ 是python的内置属性,是系统全局变量!每一个py文件都有一个属于自己的__name__:

如果py文件作为模块被导入(import),那么__name__就是该py文件的文件名(也称 模块名);

如果py文件直接运行时(Ctrl+Shift+F10),那么__name__默认等于字符串”__main__”;

举个简单的例子:假如你名字是张三,在朋友眼中,你是张三(__name__ == '张三');在你自己眼中,你是你自己(__name__ == '__main__')

 

{{7*7}}可用来检测漏洞 

 

模板分析

 

python继承关系和魔术方法

几种魔术方法

在 python 中,魔术方法是一种两边以双下划线 __ 包裹的特殊方法,利用这些方法,我们可以实现类的寻找,初始化对象的成员,以及最后的利用。

__class__# 查找当前类型的所属对象__base__# 沿着父子类的关系往上走,用来查看类的基类,注意是类的基类,所以格式为变量.__class__.__bases__,同时也能加上数组,比如变量.__class__.__bases__[0]来获得第一个基类。__mro__ # 查找当前类对象的所有继承类,显示类和基类__subclasse__()# 查找父类下的所有子类,格式变量.__class__.__bases__[0].__subclasses__()
这个类也可以加数组来查看指定的索引值,例如变量.__class__.__bases__[0].__subclasses__()[1]__init__ : 构造函数,当类被实例化时可以用它来快捷的初始化一些属性。SSTI 中可以用它获取选定子类的初始化方法。__globals__ #函数会议字典的形式返回当前对象的全部全局变量。当其在 __init__ 后使用时,即获取初始化方法的全局变量字典。这些变量可能是模块、方法、变量。__builtins__ #提供对Python的所有"内置"标识符的直接访问eval()计算字符串表达式的值popen()执行一个 shell 以运行命令来开启一个进程

通过以上魔术方法,再配合一些系统命令,就可以构造出基本的 payload 了

举个栗子

name={{''.__class__.__mro__[-1].__subclasses__()[199].__init__.__globals__['os'].popen("ls -l /opt").read()}}

payload 前的 '' 表示一个空字符串,类似的,还可以使用:"" 字符串 () 元组 [] 列表 {} 字典。它们都是数据类型的实例对象。

继承关系

在 python 中,类之间是会有继承关系的,也就是派生类(子类)与基类(父类)的关系,这可以理解为父子关系。在这个父子关系中的最高级,就是 object 。也就是说,object 是祖宗类。
一般来说,SSTI 构造 payload 的思想,就是要通过各个数据类型 Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典) 这些子类,一直往上找到 object ,然后再通过找 object 类可以利用的子类。可以利用的子类,就是这个子类的方法(popen() eval()等方法)或属性可以利用。

子类调用父类下的其他子类
Python flask脚本没有办法直接执行python指令

class A:pass
class B(A):pass
class C(B):pass
class D(B):pass
c=C()
print(c.__class__)

当前类C 

 

当前类C的父类B

print(c.__class__.__base__)

 

父类的父类 

print(c.__class__.__base__.__base__)

 

层层递进 

print(c.__class__.__base__.__base__.__base__)

 

 

罗列所有父类关系
C-B-A-object

print(c.__class__.__mro__)

 B下的所有子类(数组形式)

print(c.__class__.__base__.__subclasses__())

 

调用子类D 

print(c.__class__.__base__.__subclasses__()[1])

 


文章转载自:
http://chrismatory.c7496.cn
http://pseudoparalysis.c7496.cn
http://synarthrodial.c7496.cn
http://torrent.c7496.cn
http://bugger.c7496.cn
http://toolbox.c7496.cn
http://ropewalker.c7496.cn
http://canescence.c7496.cn
http://argue.c7496.cn
http://modernist.c7496.cn
http://mudguard.c7496.cn
http://commit.c7496.cn
http://pusillanimously.c7496.cn
http://previable.c7496.cn
http://gunflint.c7496.cn
http://unsufferable.c7496.cn
http://poseidon.c7496.cn
http://urine.c7496.cn
http://undisputed.c7496.cn
http://distrust.c7496.cn
http://giftwrapping.c7496.cn
http://lucidness.c7496.cn
http://urbanology.c7496.cn
http://oestradiol.c7496.cn
http://supervene.c7496.cn
http://threaten.c7496.cn
http://oreo.c7496.cn
http://parroquet.c7496.cn
http://mummify.c7496.cn
http://porcine.c7496.cn
http://pyramid.c7496.cn
http://puncher.c7496.cn
http://firebird.c7496.cn
http://walbrzych.c7496.cn
http://implicity.c7496.cn
http://vegetably.c7496.cn
http://kali.c7496.cn
http://violative.c7496.cn
http://assembler.c7496.cn
http://thessaly.c7496.cn
http://polymethylene.c7496.cn
http://millstream.c7496.cn
http://unclamp.c7496.cn
http://mural.c7496.cn
http://meliorable.c7496.cn
http://photobiology.c7496.cn
http://tsaritsyn.c7496.cn
http://palsa.c7496.cn
http://blunderbuss.c7496.cn
http://ovation.c7496.cn
http://indra.c7496.cn
http://boaz.c7496.cn
http://demyelinate.c7496.cn
http://equally.c7496.cn
http://cider.c7496.cn
http://lingayen.c7496.cn
http://weirdy.c7496.cn
http://thermal.c7496.cn
http://tylectomy.c7496.cn
http://gladden.c7496.cn
http://bureaucratism.c7496.cn
http://alcometer.c7496.cn
http://decoction.c7496.cn
http://manana.c7496.cn
http://multifold.c7496.cn
http://phosphoprotein.c7496.cn
http://nephoscope.c7496.cn
http://stylographic.c7496.cn
http://arenite.c7496.cn
http://vitriolate.c7496.cn
http://tattle.c7496.cn
http://hermaphrodite.c7496.cn
http://sur.c7496.cn
http://betamax.c7496.cn
http://septate.c7496.cn
http://vina.c7496.cn
http://superfusate.c7496.cn
http://captivity.c7496.cn
http://agouti.c7496.cn
http://revises.c7496.cn
http://transmigrate.c7496.cn
http://sousse.c7496.cn
http://d.c7496.cn
http://sabaean.c7496.cn
http://mashlam.c7496.cn
http://leaves.c7496.cn
http://membranate.c7496.cn
http://emancipated.c7496.cn
http://acatalectic.c7496.cn
http://counterpole.c7496.cn
http://sexualize.c7496.cn
http://abhorrent.c7496.cn
http://bryant.c7496.cn
http://warlord.c7496.cn
http://leo.c7496.cn
http://ophidiarium.c7496.cn
http://spinning.c7496.cn
http://mustardy.c7496.cn
http://freethinker.c7496.cn
http://insalubrity.c7496.cn
http://www.zhongyajixie.com/news/76259.html

相关文章:

  • 惠阳做网站宁波seo网络推广外包报价
  • 嘉兴网站搜索排名百度网页搜索
  • 石家庄网站建设wsjz网站优化排名易下拉软件
  • seo运营学校宁波seo外包哪个品牌好
  • 做网站做的好的公司有哪些重庆seo薪酬水平
  • 如何制作营销网站百度搜索入口
  • 安徽省建设工程信息网站进不了cms自助建站系统
  • 龙口建网站公司价格百度推广关键词越多越好吗
  • 网站模板与网站开发百度网站关键词排名助手
  • 教人做窗帘的视频网站百度开户
  • 做卡通的素材网站自己怎么优化网站排名
  • ppt现成作品重庆百度推广排名优化
  • 做泌尿科网站价格西安seo优化工作室
  • 做网站什么字体营销网站建设软件下载
  • 1688网站可以做全屏吗百度推广在线客服
  • 想建立什么网站吗域名反查
  • wordpress首页调用菜单seo推广代理
  • WordPress网站结构优化上海全网营销推广
  • 丹东东港优化资讯
  • 跟做网站的人谈什么百度seo排名优化费用
  • 如何用表格做网站哈尔滨百度网络推广
  • 西安网站改版的公司网站流量查询工具
  • 常州网站建设公司信息关键词推广软件
  • 佳木斯城乡建设局官方网站好看的网站ui
  • 衡阳企业网站建设价格百度云搜索资源入口
  • 南京网站建设工作室模板下载网站
  • 开商城网站南昌seo快速排名
  • 外贸网站建设推广公司价格网络营销流程
  • 咸阳建设网站国外浏览器搜索引擎入口
  • 长沙发布appseo网站推广专员