0
点赞
收藏
分享

微信扫一扫

Canto - hackmyvm

老牛走世界 2024-08-02 阅读 45
前端

目录

1.Simple_SSTI_1

2.Simple_SSTI_2

3.滑稽

4.计算器

5.矛盾

6.GET


————————————————————分割线————————————————————

1.Simple_SSTI_1

SSTI是服务器端模板注入 

F12查看下源码 

所以综上所诉 我们直接尝试去在url试着访问 config 

注意语法格式 ?flag={{config}}

也可用查询语法?flag={{config.SECRET_KEY}}

2.Simple_SSTI_2

打开题目让传入一个flag参数 我们试着看看config文件里

但是好像没有有用的东西 我们试着用模板注入看看怎么个事

?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}

结果发现app 这个文件 好像不是常见的内部文件名字 我们试着去访问看看 发现了flag文件

cat一下获取flag

3.Flask_FileUpload

一个提交框 查看下网页源码 提示 说是要上传个文件 并且固定了上传文件类型 需要时jpg和png的图片

于是写一段python的脚本文件 并且将后缀名改成jpg

上传成功后 页面没有什么特别的回显 我们看一下源代码 发现了我们要找的flag

所以我只需要利用这个漏洞再去修改下我们的python代码重新上传一下我们的文件即可

import os
os.system('cat /flag ')

4.滑稽

进入环境 右键查看源代码

5.计算器

 让输入验证 但发现只能数一个字 打开源代码发现有输入长度限制是1  

将源代码中限制从1改一下 再次输入 正确验证即可获得flag

6.矛盾

这一行从 URL 查询字符串中获取名为 num 的参数值,并将其赋值给 $num 变量。如果 URL 中没有提供 num 参数,或者参数值不是有效的字符串,则 $num 将被设置为空或者默认值。

按照代码提示 直接在URL传入num的参数值为1 即可得出flag

7.GET

一样 根据提示 以GET传参方式 传入flag 得出答案

6.

举报

相关推荐

0 条评论