Do you know upload?

Description

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

Solution

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

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

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

<!--
include($_GET['file']);
-->

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

首先在 kali 中搜索这个工具打开,先生成木马:( weevely generate<password><path>

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

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

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

&lt;?php
error_reporting(0);
session_start();
$servername = "localhost";
$username = "ctf";
$password = "ctfctfctf";
$database = "ctf";   // 创建连接
$conn = mysql_connect($servername,$username,$password) or die(" connect to mysql error");
mysql_select_db($database);
?&gt;

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

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

以上。

可以扫描二维码或者搜索微信号 mad_coder 关注公众号,原文链接包含外链信息。

web狗之writeup--do you know upload?相关推荐

  1. Web狗的CTF出题套路

    CTF-web基础解题步骤 1.看源码,F12或者ctrl+u 2.扫目录,御剑或者dirseash 3.burp抓包分析http头 十五个Web狗的CTF出题套路 一.爆破,包括md5.爆破随机数. ...

  2. Jarvis-OJ WEB 多题writeup

    PORT51(curl) LOCALHOST(伪造ip) Login(SQL注入) 神盾局的秘密(base64编码+反序列化) IN A Mess(代码审计+过滤空格SQL注入) admin(robo ...

  3. ctf的web题目php,32C3 CTF 两个Web题目的Writeup

    0x00 简介 作为一个销售狗,还能做得动Web题,十分开心. 这次搞了两个题目,一个是TinyHosting,一个是Kummerkasten. 0x01 TingHosting A new file ...

  4. web 前端常用组件【06】Upload 控件

    因为有万恶的IE存在,所以当Web项目初始化并进入开发阶段时. 如果是项目经理,需要知道客户将会用什么浏览器来访问系统. 明确知道限定浏览器的情况下,你才能从容的让手下的封装必要的前端组件. 本篇文章 ...

  5. WEB文件上传之apache common upload使用(一)

    文件上传一个经常用到的功能,它有许多中实现的方案. 页面表单 + RFC1897规范 + http协议上传 页面控件(flash/html5/activeX/applet) + RFC1897规范 + ...

  6. hxp 36C3 CTF Web题 WriteupBin Writeup (Selenium模拟点击+Content Security Policy+Nonce+Parsley.js触发错误提示)

    WriteupBin – A web challenge from hxp 36C3 CTF https://ctftime.org/event/825 题目部署 本地搭建: 解压WriteupBin ...

  7. 攻防世界Web练习区Writeup

    目录 一些工具 view_source Writeup robots Robots简介 Writeup backup Writeup 常见的备份文件 cookie cookie的相关知识 Writeu ...

  8. BUUCTF笔记之Web系列部分WriteUp(三)

    声明:此文仅供学习记录研究使用,切勿用于非法用途,否则后果自负! 1.[CISCN2019 华北赛区 Day2 Web1]Hack World 最近多做做sql注入,感觉自己在这一块还是很菜,进去就给 ...

  9. BSides Noida CTF 2021 web题wowooofreepoint writeup(两道反序列化)

    emmm终于开始正经地写第一篇wp了!撒花撒花~这场比赛也算是我第一个没爆零的比赛,自己独立做出来了一道(半?),拿到flag也是相当开心~(当然还是比较菜,大佬轻喷)比完赛之后自己又去把差一点做出来 ...

最新文章

  1. HarmonyOS Image 属性了解
  2. 2010中国大陆×××指南,满足你的欲望!
  3. matlab内将数组内所有数累乘,数学实验上机汇总【未完成】
  4. eclipse+pydev添加已存在django项目及其调试方法
  5. 新单词 part 4
  6. tensorflow2.0学习(一)
  7. 【双11】阿里云边缘节点ENS助力淘宝构建音视频通信网络
  8. 适用于各种连锁企业15寸多点触摸android收款机消费机pos机
  9. 如何使用 Java 调取 Python、R 的训练模型?
  10. android之日志库logger
  11. keepalived详解(二)——keepalived安装与配置文件
  12. LOJ2336 JOI2017 绳 贪心、构造
  13. 需求分析的文档模板的书写方式
  14. 震旦打印机打不开首选项
  15. FCM算法与K-means 算法
  16. 创业公司如何实施股权激励
  17. CodeForces 1556C :Compressed Bracket Sequences 思维
  18. discourse 安装_如何使用Discourse在半天之内建立内部团队论坛
  19. 如何设置Office Word2003的一级与二级标题
  20. 局域网内2台ubuntu电脑共享鼠标键盘

热门文章

  1. unity射线ScreenPointToRay以屏幕中点的位置发射射线
  2. 搭建Android日志系统 美团点评大前端Logan入门指南
  3. 6套法律逻辑学试题及答案
  4. maven clean install报系统资源不足
  5. 模电笔记 基本运算电路
  6. 5分绩点转4分_5分制绩点计算器: 由于网上的绩点工具大多都是4分制的,而自己一门一门的计算绩点又非常麻烦,所以我就写了一个快速计算绩点的教程。...
  7. 威马EX5量产车如期交付,明年将以10万台冲击B级SUV市场
  8. MahApps.Metro扁平化UI控件库(可修改主题色等)
  9. RFSOC 6U VPX标准板卡
  10. 2018——颓废的一年,勿忘初心。