easyupload1.0
没错开头就是文件上传,web的题还有正儿八经的文件上传,习惯用bp抓一手
上传jpg/png
该包php然后链接。
这是个陷阱,flag不对,再找找,发现在html的目录下面还存在.git的文件,将文件翻一翻找一找,发现了一个phpinfo的文件,怀疑flag存放在phpinfo中,利用刚才上传的shell,输出一下phpinfo页面就好了
Easyupload2.0
文件上传,抓包,该后缀,上传即可
使用蚁剑链接
easyupload3.0
这道题就是那个文件上传靶场上面的第四关,我说怎么那么熟悉
随便整出来报错,看返回什么东西,Apache/2.47(ubuntu)
先创建一个.htaccess的文件
<FilesMatch "flag.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
这样的话对文件名包含“flag.jpg”字符串的文件进行解析.
且等会上传的时候,传一个名字为flag.jpg的一句mm就行了
WebFTP
爆破出账号密码,是个登录界面,不过这样找的太慢了
使用御剑,本来想用dirsearch的不知道怎么弄坏了。不过都一样 扫描出一个phpinfo.php,Readme.md 里面有账号和密码
[GDOUCTF 2023]EZ WEB
访问页面没事东西,源码提示就在眼前,看到了/src,访问是个py文件
import flask
app = flask.Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return flask.send_file('index.html')
@app.route('/src', methods=['GET'])
def source():
return flask.send_file('app.py')
@app.route('/super-secret-route-nobody-will-guess', methods=['PUT'])
def flag():
return open('flag').read()
HTTP协议中的PUT方法是将指定资源的内容替换为请求中所包含的新内容。PUT方法可以用于上传或更新文件,也可以用于创建新的资源。当PUT方法可用时,客户端可以将文件上传到Web服务器并将其存储为已命名的文件或文件夹。但在某些情况下,PUT方法可能会导致服务器安全漏洞,例如,PUT请求可能会导致服务器存储敏感信息或恶意代码。因此,在一些安全标准中,PUT方法被视为不安全的,很多Web服务器默认情况下是禁用PUT方法的。
PUT
这里我访问chat,我太菜了
这是一个使用 Flask 框架编写的 Python 代码,它创建了一个 Web 应用程序,并定义了三个路由:
"/" 路由:使用 GET 方法返回 "index.html" 文件。
"/src" 路由:使用 GET 方法返回 "app.py" 文件。
"/super-secret-route-nobody-will-guess" 路由:使用 PUT 方法打开名为 "flag" 的文件并将其中的内容返回给客户端。
可以看出,第三个路由是一个秘密路由,只有当请求方法为 PUT 并且路径为 “/super-secret-route-nobody-will-guess” 时才能访问。它会打开名为 “flag” 的文件并将其中的内容返回给客户端。这可能是一个漏洞,因为未对该路由进行身份验证或授权检查,攻击者可以通过篡改 HTTP 请求来绕过安全控制,获取敏感信息或执行恶意操作。
- PUT请求?用bp抓包,改一下请求方式,然后改文件路径在发包,就返回falg了
[NSSRound#1 Basic]basic_check
Dir没扫出来有用的东西
Nikto扫描扫描出PUT提交
这和上一题也是put提交,那么用bp抓一下,上传个shell?
上传成功,蚁剑连接,找到flag