BUUCTF:[BJDCTF 2nd]fake google-----有总结的py3的payload----py3的SSTI

本文详细介绍了在BJDCTF 2nd的fake google挑战中,如何利用Python SSTI漏洞。重点探讨了Python 3中的warnings.catch_warnings模块和builtins对象在漏洞利用中的作用,以及如何通过不同payload寻找和绕过过滤限制。作者强调了基础知识的重要性,并分享了个人研究和学习的过程。
摘要由CSDN通过智能技术生成

注入点好找的很,不多说。
在这里插入图片描述
开头的不了,都会,
问题是找到我们要利用的模块在哪里
这个才是重点。。绕过的还是先不急,
一步一步打好基础,碰到绕过的题的时候再说

一、学会的新东西:

  1. py2,py3都适用的查找模块位置的payload,,(这个真的我吐血弄了半上午才弄出来的。你要是采纳了的话,记得点个赞哦!!!里面还有班长的智慧结晶呢)
  2. 知道了py3的ssti主要是用 这个 warnings.catch_warnings 模块
  3. 然后再是用 builtins 这个东西

二、开始WP

这个是李双鹏班长给的,这个点位巨坑,要不是班长给,我指定找不到,后面这个 i|string ,才显示出来,不然不显示
?ssti={
   %for i in [].__class__.__base__.__subclasses__()%}{
   {
   i|string}}{
   %endfor%}

在这里插入图片描述

先判断类型

出了之后,再找一下我们要利用的模块就好(我不知道一应该叫什么,先这么叫着吧)

在这里插入图片描述
开头的都是class什么的,说明是python3 写的flask。因为py2写的话,开头的都是type。那就找py3的用法,先找,,,来得及

python3和python2原理都是一样的,只不过环境变化有点大,比如python2下有file而在python3下已经没有了,所以是直接用open。查阅了相关资料发现对于python3的利用主要索引在于 builtins 。那么这个 builtins哪里找呢, 一般就是warnings.catch_warnings 了,也可能有其他的嘛。后来再说吧

三、warnings.catch_warnings模块入手

在这里插入图片描述
上面的是查博客,他们的,我的就不一样,题目的和我的也不一样。。。
如何找到是问题的关键

找到我们要找的模块

在这里插入图片描述
这个 warnings.catch_warnings 可以使用

这个payload可是尝试了好久才尝试出来的哦。。。错了,,不是这个,这个好找得很,,,

?name={
   {
   [
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值