- 博客(26)
- 收藏
- 关注
原创 安恒月赛writeup 2019年2月
新年劝退赛,菜的真实,web一题不会,暴风流泪MISC玩游戏下载附件后,得到一个exe和题目说明,运行exe后,发现题目分为三个关卡第一关看见是解盲文,有在线解盲文的网站,解密后为下面图中所示看见这一串,数了位数后怀疑是一个字符串的md5值,百度之后发现是 hello 的MD5值,第一关通过第二关要提交两个MD5值相同的文件,使用工具fastcoll (...
2019-02-24 21:46:20 2463 1
原创 安恒月赛writeup 2019年1月
目录web1pwn2misc1misc2reverse1crypt1新的一年,各位师傅太强了web1访问后看见源码<?php @error_reporting(1); #include 'flag.php';class baby { protected $skyobj; public $aaa; pu...
2019-01-26 20:17:20 3162 2
原创 从格式化字符串泄露canary到栈溢出
以ASIS-CTF-Finals-2017 Mary_Morton为例checksec查看,开了NX保护,还有canaryIDA打开void __fastcall __noreturn main(__int64 a1, char **a2, char **a3){ const char *v3; // rdi int v4; // [rsp+24h] [rbp-Ch]...
2019-01-11 21:27:25 4351 2
原创 preg_match函数,正则匹配绕过
以ichunqiu欢乐赛为例子1.通过.swp 文件恢复出php脚本vi index.php.swprecover2.第一关源码为<?phpfunction areyouok($greeting){ return preg_match('/Merry.*Christmas/is',$greeting);}$greeting=@$_POST['greetin...
2018-12-27 16:21:10 17104 3
原创 安恒月赛writeup 2018年12月
目录misc1misc2(签到)misc3 (学习资料)misc4(JUJU)web1web2pwn1misc和web,和一道pwnmisc1看提示想到去下当时泄露的库然后写脚本处理一下把数据库的内容,生成三个由用户名,密码,邮箱组成的字典,使用密码组成的字典爆开了压缩包解压后得到个动图,记录上面的数字得到236855282761588523...
2018-12-23 20:45:35 1614
原创 pwn 练习笔记 format4
protostar format4日常练习,源码为#include <stdlib.h>#include <unistd.h>#include <stdio.h>#include <string.h>int target;void hello(){ printf("code execution redirected! y...
2018-09-18 09:44:21 381
原创 PWN 网鼎杯 GUESS
拖了好久才看题,中间去参加比赛去了,休息够了开始学习啦!GUESS 在checksec查看后,发现开了canary 和 NX保护,所以可以用 stack smash 来做这个题ida打开,查看一下源代码:发现程序自己把读取flag到了栈中,所以思路就是:1.通过覆盖argv[0]先泄露puts的地址2.通过泄漏的puts的地址,计算出基地址然后泄漏出environ的...
2018-09-11 10:01:54 1829
原创 pwn 练习笔记 覆盖内存地址
目录 覆盖内存地址 protostar stack2protostar format3ssh copy文件报错覆盖内存地址根据ctfwiki学习小于机器字长的数字,因为之前覆盖的方法把地址放在最前面,所以覆盖后,最小值也是4,如果是小于4的数字可以把地址放在后面覆盖大数字,构造通用函数如下:def fmt(prev, word, index): ...
2018-09-02 11:19:53 1469
原创 pwn 网鼎杯 easyFMT
作为一个菜狗子只能等大佬的writeup学习 才会做easyFMT看名字就是到是格式化串洞,然后就是要确定存在格式化串洞的参数是第几个确定为是print的第六个参数大佬计算参数的脚本是:#!/usr/bin/pythonfrom pwn import *elf = ELF('./pwn')for i in xrange(1,100): p = proce...
2018-09-01 17:09:20 2072 3
原创 pwn 练习笔记 format2
例子是protostar format2源码为:和昨天的思路一样,确定要通过格式化字符串洞覆盖target的内容,题目的目的是要让target等于641.找到target的地址2.计算偏移量先起手个200个我们发现第四个就是我们的ABCD,所以改一下payload然后要是target的值为64 ,在括号之前要有64个字符,这里前面已经有34个,还差30个...
2018-08-16 22:42:15 342
原创 pwn 学习笔记 格式化串计算偏移量
学习参照:https://ctf-wiki.github.io/ctf-wiki/pwn/fmtstr/fmtstr_exploit/利用%s泄露libc函数的got表内容addr%k$s可以用来泄露指定地址的内容,但要先确定k的值,可控制的格式化字符串参数是函数第几个参数(k+1),减一就是格式化字符串的第几个参数(k)。利用 [tag]%p%p%p%p%p%p%p%p%p%p来确...
2018-08-15 23:20:43 5029 1
原创 pwn 练习笔记 暑假十一天
题目来自:https://www.jarvisoj.com/challengesguestbook,一道特别简单的题checksec查看:有个栈不可执行保护,没什么问题IDA打开查看伪代码,先看main函数:还看到调用了fopen和fgetc这样的函数,所以找了一下,发现good_game这个函数;这个函数读取了flag.txt,这个函数的开始地址为000000...
2018-07-23 17:55:04 468
原创 pwn 学习笔记 暑假第九天 __libc_scu_init
__libc_scu_init 这个函数是用来对libc进行初始化操作的在64位的程序中,前六个参数是通过寄存器传递的,之后再多的才是分布在栈上如果程序比较小,很难找到需要的可用的gadget但是如果利用这个函数,可以利用栈溢出构造栈上数据控制rbx,rbp,r12,r13,r14,r15寄存器的值前六个参数依次保存在RDI (可控的其实只是RDI的第32位,就是EDI)...
2018-07-21 18:33:24 712 2
原创 pwn 练习笔记 暑假第八天 DynELF模块
继续昨天的未解之谜,leve4在第二次感受火狐崩溃带来的绝望之后,在此立誓,再也不用火狐写博客IDA打开查看一下伪代码:图没截全,罢啦罢啦!那vul函数就看汇编吧可看出,我们输入的字符串与ebp距离为0x88checksec查看,开了nx保护ROPgadget查看,没有‘/bin/sh’DynELF是pwntools中专门用来应对无libc情况的漏洞利用模块...
2018-07-20 17:23:46 1933 3
原创 pwn 练习笔记 暑假第七天
题目来自:https://www.jarvisoj.com/challengeslevel3checksec查看:ida打开:栈溢出,buf与ebp相距0x88(136)一起下载到的还有个libc-2.19.so动态链接库文件,这就很好办啦!二次溢出拿到flag直接上脚本:from pwn import *#sh = process('level3')...
2018-07-19 23:19:34 423
原创 pwn 练习笔记 暑假第五天
今天找了jarvisoj上面的两个简单题做一下level0(难度如名字)ida打开看一下,简单栈溢出ssize_t vulnerable_function(){ char buf; // [sp+0h] [bp-80h]@1 return read(0, &buf, 0x200uLL);}int __cdecl main(int argc, const cha...
2018-07-17 16:53:41 1027 1
原创 pwn 学习笔记 暑假第四天 canary
Stack smash(火狐竟然炸啦,害我重写一遍!!!)原理在程序加了canary 保护之后,如果我们读取的 buffer 覆盖了对应的值时,程序就会报错,而一般来说我们并不会关心报错信息。而 stack smash 技巧则就是利用打印这一信息的程序来得到我们想要的内容。这是因为在程序发现 canary 保护之后,如果发现 canary 被修改的话,程序就会执行 __stack_ch...
2018-07-17 14:16:44 1088
原创 pwn 暑假复习四 绕过NX/ASLR
根据http://www.vuln.cn/6645 例一:level2源码为#!c#include <stdio.h>#include <stdlib.h>#include <unistd.h>void vulnerable_function() { char buf[128]; read(STDIN_FILENO, buf, 256)...
2018-07-16 21:42:27 1156
原创 pwn 暑假复习三 libc泄露
ctfwiki例一:ret2libc2拿到程序checksec查看:没什么问题源码int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [sp+1Ch] [bp-64h]@1 setvbuf(stdout, 0, 2, 0); setvbuf(stdin, 0, 1, 0); p...
2018-07-15 23:40:42 7410 4
原创 pwn 练习笔记 暑假的第二天 got表覆盖
pwnable passcode1.ssh连上去看源码:#include <stdio.h>#include <stdlib.h>void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); scanf("%d", passcode1); fflush(std...
2018-07-14 17:51:47 2559
原创 .git 的删除分支恢复
1,关于git的基本知识有的时候运维或者说是部署人员工,当然也有可能是开发人员在打包项目的时候将。git也打包了而引起了,git的信息泄露,关于常用的其他信息泄露自动利用的脚本及使用方法:http://www.freebuf.com/sectool/66096.html参考链接:https://blog.csdn.net/fdipzone/article/details/506163862.拿到g...
2018-07-14 15:22:25 1420
原创 pwn 练习笔记 暑假的第一天
pwnable bof 源码如下#include <stdio.h>#include <string.h>#include <stdlib.h>void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me!...
2018-07-14 15:22:03 452
原创 pwn 暑假复习一
根据ctfwiki的顺序来复习例一:test#include <stdio.h> #include <string.h> void SayHello(char* name) { char tmpName[60]; // buffer overflow strcpy(tmpName, name...
2018-07-14 15:21:36 863
原创 pwn 暑假复习二 简单rop
例一:ret2shellcode 先复习一下计算与ebp的距离的方法,昨天复习的是用pattern来寻找,今天复习另一种,以ctfwiki的ret2text为例。先用ida打开查看源码int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [sp+1Ch] [bp-64h]@1 setvb...
2018-07-14 15:21:17 2088 1
转载 gdb插件peda
1.gdb-peda这是一个调试时必不可少的神器,github地址在:https://github.com/longld/peda ,它的安装两条简单命令即可完成:1.git clone https://github.com/longld/peda.git ~/peda2.echo "source ~/peda/peda.py" >> ~/.gdbinitpeda的一个实用命令chec...
2018-05-20 14:54:31 14129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人