web狗之writeup-do you know upload?

Do you know upload?

Description

加油吧,少年。(说了等于没说)

Solution

这是一道上传绕过的题目,其实没有什么特别的地方。这里就是想介绍一下自己使用的一个特别好的工具,就是 weevely。这个工具是 kali 中类似于中国菜刀的工具,功能强大。这里主要介绍一下简单的使用以及我是用的时候一个小小的坑。

打开网站,可以看到是一个图片上传的页面:

没有什么特殊的地方,打开开发者工具,可以看到 html 包含了一段注释的代码:

那么可以断定后台应该使用的是 php 了。那么可以上传一个 php 木马来连接服务器了。上传绕过的经典套路就是先生成一个木马,然后将文件后缀改为图片格式,然后在 burp 中再将文件名改过来。下面就是 weevely 的使用了。

首先在 kali 中搜索这个工具打开,先生成木马:( )

这样我们就在 /root/project 中生成了一个 cmd.php 木马。下面就是如何将这个马上传了。首先将这个文件的后缀名改为 jpg,然后选择图片上传,然后在 burp 中将文件名修改为 cmd.php:

文件上传成功,保存在 upload/ 路径下。下面就可以通过 weevely 拿到后门了。上传之后,首先访问一下文件路径。然后通过命令: 就可以连接远程机器了:

接着就可以控制机器了,首先可以看到 upload 路径,路径即是上传的文件。可以看到 html 路径下有多个文件,比如 ctf.sql 以及 config.php。ctf.sql 是一个空文件,里面没有任何内容。打开 config.php 可以看到是一段 php 代码:

可以看到代码主要是一段 mysql 数据库的连接,数据库连接的信息都给出了。下面就是可以使用 sql_console 模块来进行数据库的交互了。通过 就可以连接数据库了。接下来可以看到数据库的信息以及表格的信息。

可以看到除了 information_schema 数据库,还有一个叫 ctf 的数据库,而且在 ctf 数据库中还有一个叫 flag 的表格。很明显,flag 很有可能就在在这个表格中。但是使用 总是提示 。找了很多办法,但始终没办法查出来。后来才知道 weevely 无法保存数据库的状态,所以无法使用 这样的语句。其实使用 就可以拿到 flag 了啊。

以上。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180909G1I3KB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券