[V&N2020 公开赛] Web misc部分题解】的更多相关文章

0x00 前言 写了一天题目,学到了好多东西, 简单记录一下 0x01 Web HappyCTFd 直接使用网上公开的cve打: 解题思路:先注册一个admin空格账号,注意这里的靶机无法访问外网,邮箱填上buu内网的邮箱以admin账户登陆.然后修改密码,给我们注册的邮箱发送邮件,去内网邮箱处登陆,点击链接修改密码.这样平台真正的admin账户就被修改了. 我们以用户名admin,密码为我们刚刚修改的登陆.找到flag. CHECKIN perl 脚本反弹shell: 链接: https://…
[V&N2020 公开赛]easyTHeap 附件 步骤: 例行检查,64位程序,保护全开 本地试运行一下,看看大概的情况,常见的堆的菜单 64位ida载入,main函数 最多只能申请7个chunk,delete只能执行3次 add() add函数只能创建一个chunk,不能读入数据,读入数据需要用到edit函数 edit() show() delete() 这题的libc是2.27,在libc2.26之后的libc版本中加入了新的存储结构tcache,这使得我们利用堆的时候要特别注意libc版…
[V&N2020 公开赛]simpleHeap 附件 步骤: 例行检查,64位,保护全开 根据题目可知是一道堆,直接用64位ida打开 我修改了这些函数的名称,这样方便看程序 add,我们可以申请一个0~111大小的堆块,note_list里存放的是chunk的指针,size_list里存放的是chunk的size edit edit_1,可以看到当i在出了第6行的if循环的时候,它的值是a2+1,这样导致存在off by one漏洞,应该将判断条件改写成>=10 show,根据传入的idx…
[V&N2020 公开赛]CSRe 附件 步骤: 例行检查,无壳儿,但是有NET混淆,使用de4dot工具进行处理 之后用dnSpy打开,从入口点开始看程序 找到有关flag的信息 flag由str+text组成 str根据if (Class3.smethod_0("3" + str + "9") != "B498BFA2498E21325D1178417BEA459EB2CD28F8")可以推算出来 看一下Class3.smethod_…
[V&N2020 公开赛]strangeCpp 附加 步骤 查壳,无壳,64位程序 64位ida载入,没有main函数,根据程序里的字符串,去查看函数 __int64 __fastcall sub_140013AA0(__int64 a1, __int64 a2, __int64 *a3) { char *v3; // rdi signed __int64 i; // rcx __int64 v5; // rax __int64 v6; // rax __int64 v7; // rax __i…
[V&N2020 公开赛]babybabypwn 附件 步骤: 例行检查,64位程序,保护全开 本地试运行一下,看看程序的大概情况 64位ida载入,看一下main函数 sub_1202()函数,沙盒的限制条件 用seccomp-tools看一下 其他禁用的指令是干什么的我不是很清楚,但是禁用了execve(系统调用),也就没办法获取shell权限了,只能够想办法通过open–>read–>write的方式来获取flag的值了 sub_1347()函数 一开始给我们泄露了puts函数的…
[V&N2020 公开赛]warmup 附件 步骤: 例行检查,64位程序,除了canary,其他保护都开 本地运行一下,看看大概的情况 64位ida载入,从main函数开始看程序 看到程序将puts函数的地址泄露给了我们 sub_84D()函数里面是prctl函数的沙箱机制 可以利用seccomp-tools工具来查看一下限制了哪些函数 禁止了execve和fork syscall, 关于seccomp-tools工具的安装和使用看这篇文章,关于prctl函数可以看一下这篇文章 sub_9D3…
[pwn]V&N2020 公开赛 simpleHeap 1.静态分析 首先libc版本是ubuntu16的2.23版本,可以去buu的资源处下载 然后checksec一下,保护全开 拖入IDA中分析 去除了符号表,通过menu函数分析出有add.edit.show.delete 1.add() add函数分析一遍,发现没什么漏洞,就是普普通通的输入一个需要申请的size(空间大小),然后再向这个malloc的空间中输入content(内容),其中size不能大于111(0x6F). 2.edit…
题目复现链接:https://buuoj.cn/challenges 参考链接:2020 年 V&N 内部考核赛 WriteUp V&N公开赛2020 writeup httpoxy https://httpoxy.org/ HTTPOXY漏洞说明 利用条件: 代码以cgi模式运行,其中使用环境变量HTTP_PROXY 信任 HTTP 客户端HTTP_PROXY并将其配置为代理 在请求处理程序中使用的该客户端发出HTTP(与HTTPS相对)请求 受影响范围 Language Environ…
大佬友链(狗头):https://www.cnblogs.com/p201821440039/ 参考博客: https://www.zhaoj.in/read-6407.html https://cjm00n.top/2020/02/29/V-N%E5%85%AC%E5%BC%80%E8%B5%9B2020-writeup/ https://www.cnblogs.com/20175211lyz/p/12398612.html https://www.cnblogs.com/wangtanzhi…
拖入ida,静态调试一下,本来想动调的,发现一直缺dll.没办法,只能头铁,静态 找到主函数,然后并没有发现什么,找了半天,没结果,后面也是看了大佬wp,才找到解决方式,感觉这种只能通过动调来找到关键函数,靠这种找字符串的,有点不靠谱,不过这种在没思路的情况下,是真的香. 先打印出welcome,后面一堆没啥用的,还有个函数检查cpu数量的....,然后这种没思路的情况,感觉还是从出题人的角度去考虑问题,不可能会无缘无故的,出现一个东西,所以找到了一个字符串,查看它的引用 还是找到了,关键函数,…
写在开头,感谢"影二つ"师傅的指点. 题目的做法思路网上一搜一大把,这篇博客主要记录一下这道题用pwntools写srop的时候,为什么需要省略前面8个字节. 在看题目之前,先来学习一下call这个汇编指令. 我个人理解call就是进入一个函数,但是执行完函数之后程序如何能够再返回执行call的下一条指令呢?答案是先把call下面的一条指令地址压入栈.我们来调试一下看看. 1 int main() 2 { 3 write(1,"Hello,dear.\n",0xc)…
攻防世界Web区部分题解   前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 对象 , 类 , 数组 , 变量 , 匿名函数 . 通过这种相互转换 ,从而完成 数据持久化. 谈到php的反序列化,就不能不说反序列化中的几种魔术方法,下面是文档中对于魔术方法的说明. 下面看几种重要的魔术方法: __wakeup方法 unserialize()会先检查是否存在一个__wakeu…
V&N战队考核+招新,赵师傅出的Web题,做着感觉有点顶,趁热打铁写write up记录一下考察的知识点 这道题说是CheckIn其实还是有一定难度的(也可能是我太菜了),进入题目直接给出了flask的路由: from flask import Flask, request import os app = Flask(__name__) flag_file = open("flag.txt", "r") # flag = flag_file.read() #…
前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面.(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看到url中的filehash 呢么意思就是如果知道cookie_secret的话,再结合md5的filename就可以读到/flllllag了把 其实到这里我就没什么思路了,对于render肯定存在模板的问题,百度了一下标题tornado Tornado是一种 Web 服务器软件的开源版本.Torn…
比赛信息 比赛地址:Buuctf靶场 内心os(蛮重要的) 我只想出手把手教程,希望大家能学会然后自己也成为ctf大佬,再来带带我QWQ 被偷走的文件 | SOLVED | foremost分离一下文件,发现有rar用软件跑一下有了密码 flag{6fe99a5d03fb01f833ec3caa80358fa3} [GXYCTF2019]佛系青年 | SOLVED | 下载文件,发现有一个没加密和加密文件,发现它是伪加密 2处不一样,然后修改成00,就可以解压了发现 这个图片其实是jpg,然后发…
[BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希望各位师傅在评论区不吝赐教!非常感谢! [OGeek2019]babyrop /dev/random和/dev/urandom是unix系统提供的产生随机数的设备,先产生一个随机数 输入放到buf里,然后与随机数比较,不等的话程序就结束了,于是将输入的第一个字母弄成'\0',以绕过strncmp 后…
get_started_3dsctf_2016 关键词:ROP链.栈溢出.mprotect()函数 可参考文章(优质): https://www.cnblogs.com/lyxf/p/12113401.html #!python #coding:utf-8 from pwn import * from LibcSearcher import * context.log_level = 'debug' #context.arch = 'i386' elf = ELF('./get_started_…
网页设计在技术层面上,第一步是美工做出网页效果图,第二步就是网页前端进行网页切图.网页切图工具常用的有fireworks.PS,这里使用PS进行网页切图. 我们通过设计稿,得到我们想要的产出物(如.png,.jpg文件),给网页提供图片素材(HTML:img,CSS:background). 一.使用PS工具 1.1 PS首选项设置 编辑->首选项->单位与标尺,选改为像素. 1.2 面板 在"窗口"菜单下开启: 工具(默认已开启) 选项(默认已开启) 图层(默认已开启)…
一.[前言]关于tarjan tarjan算法是由Robert Tarjan提出的求解有向图强连通分量的算法. 那么问题来了找蓝翔!(划掉)什么是强连通分量? 我们定义:如果两个顶点互相连通(即存在A到B和B到A的通路),则称这两个点强连通.对于一个有向图G,若是G中任意两点都强连通,则称G是一个强连通图.有向图的极大强连通子图,称为该图的强连通分量. 对于下图,{1,2,3,4}.{5}.{6}分别是它的强连通分量. 那么tarjan是如何找到这些强连通分量的呢? 说白了tarjan就是dfs…
  一.数据挖掘 数据挖掘是运用计算机及信息技术,从大量的.不全然的数据集中获取隐含在当中的实用知识的高级过程.Web 数据挖掘是从数据挖掘发展而来,是数据挖掘技术在Web 技术中的应用.Web 数据挖掘是一项综合技术,通过从Internet 上的资源中抽取信息来提高Web 技术的利用效率,也就是从Web 文档结构和试用的集合中发现隐含的模式. 数据挖掘涉及的学科领域和方法非常多.有多种分类法. (1)依据挖掘对象分:关系数据库.面向对象数据库.空间数据库.时序数据库.DNA 数据库.多媒体数据…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 打开链接,就知道是道代码审计的题目,不过这题比较简单,我们一起看一下这段代码 $what=$_POST['what']; echo $what; if($what=='flag') echo 'flag{****}'; 意思是通过post传入一个参数what,如果what的值等于fl…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 点开链接一看,就知道是道代码审计的题目,不过这题比较简单,我们一起看一下这段代码 $what=$_GET['what']; echo $what; if($what=='flag') echo 'flag{****}'; 意思是传入了一个参数what,当what的值等于flag,就会…
[A]Azulejos 题意简述: 有两排瓷砖,每排都有 \(n\) 个,每个瓷砖有高度 \(h_i\) 和价格 \(p_i\) 两种属性. 你需要分别重新排列这两排瓷砖,使得同一排的瓷砖满足价格不降,后一排的瓷砖的高度严格大于前一排对应瓷砖的高度. 判断无解或输出一种合法方案. 题解: 首先要满足价格不降,那么先把两排瓷分别按照 \(p_i\) 排序. 如果同一排中的两个瓷砖 \(p_i\) 不同,那么顺序已经确定.但是如果 \(p_i\) 相同,就可以任意交换顺序. 也就是说,前后两排中的瓷…
A. Fair Game time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Petya and Vasya decided to play a game. They have n cards (n is an even number). A single integer is written on each card. Befor…
前言 礼拜五领航杯打的比较累,做不出WEB,D3CTF没用,做了NJCTF的一些题目(懒,睡觉到12点起) Misc 第一次比赛先去做misc,以前一直做WEB,以后要WEB+MISC做.礼拜六下午做的三道misc A good idea binwalk查看有zip,foremost分出来 用steg去比较图片,到sub时出现二维码,扫码得到flag Pip install 这道题我感觉出的特别好,告诉我们pip安装的安全问题. 找到路径 翻遍了没东西,回过头来.想着setup.py会自动删除吗…
本来一题一篇文章,结果发现太浪费了,所以整合起来了,这篇博文就记录 BUUCTF 的  web 题目的题解吧! 随便注 随便输入一个单引号,报错 order by 3就不行了 尝试联合查询的时候出现提示: "/select|update|delete|drop|insert|where|\./i" 一个正则可视化网站:https://regexper.com 使用堆叠注入:1';show tables;# 看一下表里有什么列名:1';show columns from `1919810…
题目: Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. Find and return the shortest palindrome you can find by performing this transformation. For example: Given "aacecaaa", return "aaacecaa…
前几天打完的V&NCTF公开赛,做题的时候没记过程,这是复现wp. 最后排名Top 18,三道RE+两道杂项(wp没啥可放的hhh)+一道web,感觉re题目还是挺好的,难度适中点赞,尤其pc逆向还是两个算you法xi题,纯模拟好评,算法题不好评(x. 比赛地址:https://buuoj.cn/vnctf_2021 官方wp:V&NCTF2021 官方WP(RE部分)(其他部分的wp在公众号上自行寻找) Reverse notsudoku 看到这个名字dna动了一下(之前hsctf新生赛…
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来可以定制自己的images,特别是能针对不同的系统环境与目标需求适当对镜像进行调整改进.在编辑Dockerfile过程中也参考了以下相关范例: https://hub.docker.com/_/php/ https://hub.docker.com/_/mysql/ https://hub.dock…