2019 DDCTF 部分writeup

网上的wp已经很多了,但wp普遍很简略。我尽量写的详细一点。

一、WEB

滴~

拿到题目后首先右键查看源代码,发现图片是以base64传送的

而且看url发现里面应该是包含了文件名,并且用了某个编码。测试过后是转16进制ascii码后两层bases64

(解码工具是burpsuite)

 用同样的规则编码index.php,为TmprMlpUWTBOalUzT0RKbE56QTJPRGN3,访问并查看源代码,内容就是index的源码了,再用base64解码。

在源代码里出现一篇文章,打开后发现是一篇关于echo的,我在这里绕了很长时间,以为要用到echo的漏洞。

但正解是那个日期,要看那个日期的文章。是关于swp的:

https://blog.csdn.net/FengBanLiuYun/article/details/80913909

所以访问http://117.51.150.246/practice.txt.swp,可看到里面内容:

f1ag!ddctf.php
通过index代码,可以看到对文件名做了过滤,只能是数字和字母。这个感叹号会被去掉。但还有一

$file = str_replace("config","!", $file);
这是为了防止读取config,会把config换成!。但这正好满足需求,访问f1ag!ddctf.php
即可。但直接访问是空白的,所以用同样的方法读源代码

extract($_GET);这里是一个变量覆盖漏洞,让k和uid为空就可以了。

或者按正常使用,把k指向一个文件,uid和文件内容相同,也能读出flag:

之前的swp文件这里可以现成使用,没必要自己搭个网站让他读。。有些wp就是自己现搭的网站,算是很鬼畜了。。

reverse

【待续】

 

 



 

转载于:https://www.cnblogs.com/cnnnnnn/p/10849910.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三十六期:如果把线程当作一个人来对待,所有问题都瞬间明白了

7月8日 以下文章来源于编程新说 ,作者编程新说李新杰 多线程的问题都曾经困扰过每个开发人员,今天将从全新视角来解说,希望读者都能明白。 强烈建议去运行下文章中的示例代码,自己体会下。 问题究竟出在哪里? 一个…

[Leetcode][第322题][JAVA][零钱兑换][回溯][记忆化搜索][动态规划]

【问题描述】[中等] 【解答思路】 1. 递归(超时) class Solution {int res Integer.MAX_VALUE;public int coinChange(int[] coins, int amount) {if(coins.length 0){return -1;}findWay(coins,amount,0);// 如果没有任何一种硬币组合能组成总金额&…

用BST解决729. My Calendar I 731. My Calendar II 732. My Calendar III

My Calendar的book方法实现指定开始时间、结束时间,在重叠次数要求不同的情况下怎么实现。 729 My Calendar I 要求任意两个事件之间不能重叠。如果要插入的事件和已经插入的事件不重叠,则插入;否则不插入。 731 MyCalendar II 要求任意三个…

[转载]抓大放小,要事为先

最近看到了swing框架,细节颇多。细细看来效率很低,偶然找到了这篇文章,恩确实有道理;以下; 对待人生的任何事情都要:抓大放小,要事为先 对于一个以前从来没有接触过java的人,java无疑…

第三十七期:如果你这样回答“什么是线程安全”,面试官都会对你刮目相看

6月12日 以下文章来源于编程新说 ,作者编程新说李新杰 有读者跟我说,喜欢看我的文章,说很容易读,我确实在易读性上花费的心思不亚于在内容上。因为我不喜欢一上来就堆很多东西,而且把简单的东西搞得复杂人人都会&…

第三十八期:如何在Windows 10上使用Windows Update目录驱动程序安装打印机

尽管Win10能够自动设置大多数打印机,但有时Windows Update可能会在安装设备驱动程序时遇到问题-尤其是在添加较旧的打印机时。 作者:佚名来源:Win10系统之家 图片来源:伏天氏(m.futianshuwu.com) 伏天书屋(futianshuwu.com)10月…

MySQL 表和列的注释

像代码一样,可以为表以及表中的列添加注释,方便其他人知晓其功能。对于一些字段,在经过一定时间后,创建者未必也能想起其具体的含意,所以注释显得尤为重要。 注释的添加 注释的添加是通过在定义表或列的时候在末尾加上…

376 Wiggle Subsequence 贪心解法以及证明

376. Wiggle Subsequence 题目理解 给定一个数组,相邻两个数计算差值。差值排成的序列是正负相间的,那这个数组就是一个wiggle 数组。例如数组[1,7,4,9,2,5],差值序列是(6,-3,5,-7,3)。原数组用坐标轴表示如下。 思路是:在一段…

【数据结构与算法】【算法思想】动态规划

贪心算法 回溯算法 分治算法 动态规划 贪心:一条路走到黑,就一次机会,只能哪边看着顺眼走哪边 回溯:一条路走到黑,无数次重来的机会,还怕我走不出来 (Snapshot View) 动态规划:拥有上帝视角&am…

第六十七期:Python爬虫44万条数据揭秘:如何成为网易音乐评论区的网红段子手

获取数据,其实逻辑并不复杂:爬取歌单列表里的所有歌单url、进入每篇歌单爬取所有歌曲url,去重、进入每首歌曲首页爬取热评,汇总。 作者:嗨学python来源:今日头条 获取数据 其实逻辑并不复杂: 爬取歌单列…

第一阶段SCRUM冲刺 08

昨天的成就:实现任务查找模块。感觉到了硬件支持对软件编程的重要性。 遇到的难题:电脑出现卡顿,编程工具十分卡,重启电脑好几次解决这个问题。电脑也是需要休息的。 今天的任务:进行资料上传模块;发布任务…

array专题7

714 Best Time to Buy and Sell Stock with Transaction Fee 思路 首先是暴力枚举。考虑在第idx天能做的操作:买?卖?不操作? /*** 暴力枚举* * param prices* param fee* return*/public int maxProfitV99(int[] prices, int f…

第三十九期:收藏 | 第一次有人把“分布式事务”讲的这么简单明了

不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。 作者:咖啡拿铁来源 又或者在网上购物明明已经扣款,但是却告诉我没有发…

【小技巧】字符char与整型int的相互转换

char转int char与int的相互转化,联想ASCII码,字符‘0’对应的值为48,所以不能直接加减‘ ’ char ch9; int ch_intch-0;//此时ch_int9int转char int i9; char i_chi0;//此时i_ch9必须牢记的ASCII

array专题8

670 Maximum Swap 思路:先把整数分解成一个一个的数,从0-n放着从最低位到最高位的数字。例如2376变成数组[6,7,3,2]。假设要替换的是最高位n-1,从0到n-2中查找是否有比nums[n-1]大的元素;如果有则替换,否则继续考虑替换n-2位。比…

nginx 编译安装

安装 Nginx 所依赖的基本服务: yum -y install gcc gcc-c automake pcre pcre-devel zlip zlib-devel openssl openssl-devel 官网 http://nginx.org 下载安装包 编译nginx make (可参考http://nginx.org/en/docs/configure.html) ./configure --prefix/data1/se…

第四十期:九个对Web开发者最有用的Python包,掌握这些,工资至少能涨涨

Matplotlib,正如其名称所暗示的那样,是一个用来绘制数学函数和模型的库;扩展了Numpy的作用,Matplotlib可以只用几行代码来创建图,条形图,散点图等诸多视觉表现。 作者:Python之眼来源:今日头条…

array专题9

新的一周,新的专题。array的中等难度的题目快要结束了。能感觉到进步,也依然能感觉到吃力。加油。 31 Next Permutation 思路:读懂了题意,知道是要求下一个排列数是什么。如果已经到最后一个了,那就返回最小的那个。…

[Leetcode][第214题][JAVA][最短回文串][KMP][RK]

【问题描述】[中等] 【解答思路】 1. 字符串哈希 复杂度 class Solution {public String shortestPalindrome(String s) {int n s.length();int base 131, mod 1000000007;int left 0, right 0, mul 1;int best -1;for (int i 0; i < n; i) {left (int) (((long)…

坏掉的项链Broken Necklace

题目描述 你有一条由N个红色的&#xff0c;白色的&#xff0c;或蓝色的珠子组成的项链(3<N<350)&#xff0c;珠子是随意安排的。 这里是 n29 的二个例子: 第一和第二个珠子在图片中已经被作记号。 图片 A 中的项链可以用下面的字符串表示&#xff1a; brbrrrbbbrrrrrbrrb…