自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 新博客地址

https://starsdestinations.github.io/

2019-05-07 11:38:18 175

原创 pwnable.tw-calc详解

重点需要的知识:ROP链的构造、栈中ebp和esp的变换这题颠覆了我原本以为pwn都是各种套路的思想,和pwn只需要关注危险函数的思想,栈溢出并不是只有各种ret技术,恐怕堆溢出也不仅仅局限于各种heap of技术,那些只是基础。int __cdecl main(int argc, const char **argv, const char **envp){ ssignal(14,...

2019-01-06 15:14:51 925

原创 2018第四届百越杯CTF总结-pwn(附带python调用gdb小技巧)

这次做了一题逆向和pwn,不过做出的逆向太简单了就不多说了,倒是借着两题最基础的pwn题好好学习了一下ret2lib和ret2plt,以及格式化字符串漏洞。只是写payload的话,照着ctf wiki上的改几个地址就可以了。Boring game考察基础的ret2libc和ret2plt,在google上找到一篇把ret2libc基础讲得很好的文章https://www.shellb...

2018-12-20 17:09:24 1707

原创 2018第四届百越杯AWD总结

之前准备的waf和监控脚本都没用上,因为上了脚本后三台web服务器都变成了异常,但听学长都能用,所以不知道是哪里出了问题,之后都在忙着做pwn题和写脚本,以及手动上传flag,导致四台服务器全程裸奔,上午一度掉到了倒数四十多名,也就是倒数第三,所幸福建省内的pwn手较少,下午也是靠着pwn服务器进了前20名,拿了个优胜奖。这一次自身的不足:第一点是脚本编写能力不足,在没有网络的情况下没办法...

2018-12-18 21:22:17 1084

原创 shiyanbar-pilot

很基础的栈溢出,先用checksec查看,什么保护都没开,基本就是用shellcode或者程序内直接有system之类的语句了放到IDA中查看signed __int64 __fastcall main(__int64 a1, char **a2, char **a3){ __int64 v3; // rax __int64 v4; // rax __int64 v5; /...

2018-11-29 21:07:57 166

原创 shiyanbar-ropbaby

之前去成都“参观”天府杯导致感冒,颓废了好几天。。先看一下文件类型和程序保护开了NX和PIE,栈不可执行和地址随机化,看来不能用shellcode了,就像题目提示的用ROP。(FORTIFY说是会对栈溢出进行保护,但是这里感觉没有体现出来)__int64 __fastcall main(__int64 a1, char **a2, char **a3){ signed in...

2018-11-28 21:37:25 278

原创 jarvisoj-level2

只开了NX,栈上不可执行main函数 vulnerable_function(); system("echo 'Hello World!'"); return 0;function函数 char buf; // [esp+0h] [ebp-88h] system("echo Input:"); return read(0, &buf, 0x10...

2018-11-09 19:59:06 1371

原创 jarvisoj-level1

先看一下有什么保护什么保护都没开起来。放进IDA里看一下 vulnerable_function(); write(1, "Hello, World!\n", 0xEu); return 0;main函数里就三行,进入vulnerable_function()函数看一下 char buf; // [esp+0h] [ebp-88h] printf("W...

2018-11-08 21:17:05 268

原创 bugku-游戏过关

pwnable.tw的calc和pwnable.kr的memcpy难度提升得让我突然像是到了一片知识的孤岛上,举目所望是无尽的未知。才发现自己的汇编基础实在薄弱,另外只通过0day安全分析学了windows的堆管理,对linux的堆管理实在是所知甚少,鉴于此,在补足基础的时候,打算做一下bugku上的逆向维持一下基本的做题感觉。bugku逆向的前三题都是用IDA打开就看到答案了,所以从游戏过关...

2018-11-06 21:46:20 1159

原创 pwnable.tw-orw

Read the flag from /home/orw/flag.Only open read write syscall are allowed to use.nc chall.pwnable.tw 10001这是pwnable.tw orw的题目描述,只能用syscall只能用open、read、write从ida看源代码int __cdecl main(int ar...

2018-10-27 21:58:06 455

原创 pwnable.kr-uaf

相关知识c++虚函数:https://blog.csdn.net/haoel/article/details/1948051uaf(Use After Free):https://ctf-wiki.github.io/ctf-wiki/pwn/linux/glibc-heap/use_after_free/参考文章:https://blog.csdn.net/qq_20307987/a...

2018-10-25 16:56:42 190

原创 pwnable.kr-blackjack-lotto-cmd1-cmd2

blackjack输入的时候先试了一下超大书,发现溢出了,就知道是用整形存储的,然后试了下负数,就随便爆24点了,输了就是赚钱。lotto#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>unsigned char submit...

2018-10-23 20:48:10 215

原创 pwnable.kr-coin

这道题对我这种python编程基础薄弱的人真的太耗费心力了,写个循环用了一个小时,改错改了六七个小时。。。最后的成果还是有出错的可能from pwn import *import redef sendab(a,b)://sendab函数专门用来构建一个a到b的字符串,然后发送出去 send_str="" for i in range(a,b+1): send_str...

2018-10-10 01:11:19 261

原创 pwnable.tw-start

参考了好多文章才能大致理解shellcode这题开始就有一个大坑可以看到不同的checksec查看start文件会有不同的结果,就结果而言,GDB-PEDA的checksec很不靠谱。。我根本没有s命名的文件。。所以,start是一个32位没有开启NX的程序,NX(DEP)的基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行...

2018-10-05 10:19:04 917 3

原创 jarvisOJ-level0

jarvisOJ上的题目梯度似乎比pwnable.tw上的题目更合理点,pwnable.kr目前做的十几题都是考察各种基础,只有少数像pwn题。level0是考最基础的ROP先把下载的文件放进IDA里看看.text:00000000004005C6 main proc near ; DATA XREF: _start+1D↑o.te...

2018-09-28 20:29:30 286

原创 pwnable.kr-leg-mistake-shellshock

leg#include <stdio.h>#include <fcntl.h>int key1(){ asm("mov r3, pc\n");}int key2(){ asm( "push {r6}\n" "add r6, pc, $1\n" "bx r6\n" ".code 16\n" "mov r3, pc\

2018-09-22 20:22:59 227

原创 pwnable.kr-input

难点感觉是linux下的父进程和子进程间的通道搭建,和搭建socket客户端#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/socket.h>#include <arpa/inet.h>int main(int argc, cha...

2018-09-19 21:09:40 291

原创 pwnable.kr-passcode

这道题的难点在于GOT表覆写,理解了GOT表和PLT表的关系就比较好做了。函数在调用printf等函数的时候需要访问PLT表,而PLT表中储存的是GOT表对应项的地址。另外一点就是scanf的参数如果没有加&地址符,就会把参数所在栈内的4个字节(我认为是因为题目中要传入%d是四字节的int型吧)当作地址,然后把缓冲区的数据输入进去。(在IDA中看,就是有加地址符,程序会执行lea指...

2018-09-18 21:19:21 560 1

原创 第五届黑盾杯总结

十天做了五题pwnable.kr的题目,结果比赛了才发现pwnable.kr上的前几题跟pwn常考的栈溢出、堆溢出没有关系。。。pwnable.tw比较符合平常会出的pwn题。最后只做出来了很简单的两个web两个杂项,《无论你输入什么都是错的》的flag藏在用burp截取的返回报文的html项里。《听说很漂亮》检查一下html代码,发现把公式复制到python里(然后发现自...

2018-09-17 20:00:57 934

原创 pwnable.kr-random

找到flag所在位置,想得到flag需要key ^(异或) random = 0xdeadbeef异或运算:同一位上,相同为1,不同为01 1 1:0 0 1:1 0 0:0 1 0 从异或的四种情况可以看出,任意两个位异或等于第三个位计算机中的rand()函数是伪随机,在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib...

2018-09-10 20:18:08 183

原创 pwnable.kr-flag

下下来flag文件后用IDA打开,发现只能解析成二进制文件看了别人题解后才知道要在linux系统中用udp -d flag解压缩参考文章:https://www.jianshu.com/p/434d2d370ed2解压后的flag只能用64位IDA打开,所以看不了伪代码,不过在main函数中看到了flag,点开后发现了flagUPX。。。这格式应该就是flag了,提交后...

2018-09-09 23:03:45 138

原创 pwnable.kr-bof

#include <stdio.h>#include <string.h>#include <stdlib.h>void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key...

2018-09-09 22:38:34 232

原创 sql注入学习sqli-lab lesson1

之前稍微接触了一下sqli-lab,但是没有继续学下去,最近刷了些web题,发现sqli-lab用来学习数据库和php语言挺有用的。将sqlilab搭在了phpstudy上后(文件解压到phpstudy下的WWW,然后添加站点,之后改host),开始第一课。先根据提示,在url后面加上?id=1(其中问号起到传递参数的作用)。可以看到返回了两个值,通过改变id的值,可以的得到不同的login na...

2018-05-09 20:22:48 1708 1

原创 pwnable.kr collision

开始步骤跟fd一样,cat col.c后查看代码,如上。第一眼看到system(“/bin/cat flag”);然后往回寻找执行命令的条件,hashcode ==check_password(argv[1]);argv[1]是命令行中的第二个字符(参数argc记录了命令行中命令与参数的个数,而命令行中的参数都被存储在argv[]中,比如文件名为argv[0],那之后输入的字符串就是argv[1]...

2018-05-08 20:59:33 179

原创 pwnable.kr-fd

今天开始入门pwn学长介绍给我pwnable.tw和pwnable.kr。我决定从更为基础的pwnable.kr开始第一题:fd根据题目,我在kalilinux命令行上输入ssh fd@pwnable.kr -p2222,结果却返回Host key verification failed.我百度了一下(顺便学习了RSA算法,对其中的欧拉函数不是很懂,下次再看看)后发现,删掉.s...

2018-04-27 21:52:16 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除