前言
最近好久都没做题目,刚好上次搭的题目还在,就不要浪费了,记录记录做题过程吧
正文
minBash
这个题目考的点是沙盒绕过,第一次玩这个东西??反正进去之后尝试ls,cat,file等各种那个命令均无效果,都会显示
-rbash: ls: command not found
发现有一篇好文章,有空瞅瞅:http://cauc.me/2017/11/16/python沙盒绕过/
一开始谷歌一下,发现解决办法是这样的
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
输入之后发现还是不行显示 -rbash: PATH: readonly variable
我们可以尝试python里面的库去执行,用的是os
库里面的listdir
函数
>>> import os
>>> os.listdir('.')
注意函数里面的.
代表的是当前目录,而..
代表的是上级目录,也可以是绝对路径
得到当前目录的结果为
['.bash_logout', '.profile', '.bashrc', 'bin', 'c8049f64c8080af25f414b15cb6f80c3']
检验一下那个一串的东西是文件还是文件夹
>>> os.path.isfile('c8049f64c8080af25f414b15cb6f80c3')
发现是文件,这里提供两种方法读取文件,
第一种直接用Python读取文件
>>> f = open('c8049f64c8080af25f414b15cb6f80c3','rb')
>>> f.read()
得到结果
'SUSCTF{e6b729cdf8885b16e7b949e85772e340}\n'
另一种是,返回到Linux命令行用strings命令
strings c8049f64c8080af25f414b15cb6f80c3
得到结果
SUSCTF{e6b729cdf8885b16e7b949e85772e340}
faster
题目说的快一点,那就试一下抓包好了,直接得到flag,这里是存在302跳转
的,会跳转到1ndex.php
,一开始我一直这个页面抓包可坑了,以后要注意直接从打开题目地址那一刻开始抓包-_-||
还有另一种做法就是直接curl
一波就好了。。。不多说,水题一个
put
打开题目发现这样一句话
put me a message then you can get the flag
这个题目是考了传参的方式,水题。。。。
我用的两种办法
第一种
直接利用火狐的F12
插件去完成put类型
的传参
查看回应发现一段base64,U3VzY3Rme3JlcXVlc3RfaW5fcHV0X21ldGhvZH0=
,解码得到flag
第二种利用python写脚本上传
#!/usr/bin/python
# Author:0verWatch
# coding:utf-8
import base64
import requests
url = 'http://192.168.1.103:4447'
res = requests.session()
ans = res.put(url=url,data='message')
print base64.b64decode(ans.content)
calculator
这个