7381 分钟

# 1. 查看程序 查看程序开启的保护 32 位程序,没有开启 NX,猜测可以使用 shellcode 利用 ida 反汇编 主函数 init():输出图形 vulnerable () :可以进行溢出,但是溢出范围很小 发现有后门命令在 shell 函数里 直接溢出执行该命令即可 # exp nfrom pwn import *from LibcSearcher import *context.log_level = 'debug'#p=process('./wustctf2020_getshell')p=
1.2k1 分钟

# 此处用于记录在编写脚本中对程序的调试 因为有时要输入不可见字符,导致我们没办法进行直接在 gdb 内调试,所以需要相应的在脚本中调试 # 1. 调试方法: ngdb.attach(p,"b *断点地址")payload=""pause() #第一个 pausep.sendline()pause() #第二个 pause此处的重点就是在发送 payload 前加入 gdb.attach(p) 和 pause() ,发送 payload 后加入 pause() ,然后在产生的新终端内设置断点(也可以在前面直接设置断点: gdb.att
2.1k2 分钟

# 1. 查看程序 发现没有开启 NX,有 rwx 段,可以利用 shellcode 利用 ida 查看 因为要写入 shellcode 并执行,所以我们需要利用栈溢出 chall 函数里的 fget 因为大小限制为 1024(0x400),所以我们无法溢出,但是,该函数末尾有个 vuln(s,0x400),里面的 memcpy 函数会将 s,复制给 dest,且有 0x400 的大小可以进行溢出。 我们需要绕过 strcmp(s,crashme) , 可以利用 \x00 截断 # 2. 漏洞利用 我们通过执行 shellcode 来 getshell,通过 vuln 函数中的 mem
2.9k3 分钟

# 利用 msf 渗透攻击 win7(永恒之蓝漏洞 ms17-010) # 前言 永恒之蓝是指 2017 年 4 月 14 日晚,黑客团体 Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含 “永恒之蓝” 工具,“永恒之蓝” 利用 Windows 系统的 SMB 漏洞可以获取系统最高权限。5 月 12 日,不法分子通过改造 “永恒之蓝” 制作了 wannacry 勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。 存在漏洞的主机,只需要开放 445 端口即可被攻击,获取系统最高权限 # 环境
1.5k1 分钟

# pwn0 # 题目 利用 ssh 连接,不知道为什么之前连接是失败的 然后输入密码会加载一大堆东西 而且密码不在当前目录下需要到根目录查看 # pwn1 # 题目 题目里已经说明有后门了,下载附件利用 ida 打开 发现输出完句子之后会直接执行 cat flag,那么直接 nc 连接即可 # pwn2 # 题目 下载附件查看程序信息,发现是 64 位程序 ida 打开 发现有个 system (/bin/sh), 直接 给权限了,那么就直接可以获取 flag # pwn3 # 题目 查看保护是 64 位程序,ida 打开 这里考察我们对函数的
11k10 分钟

# pwn35 # 题目: 32 位程序,只开启了部分 RELRO 发现又是这个信号处理机制,出现溢出错误使便会打印出 flag dest 数组为 104 个,输入 105 个字符即可溢出 # pwn36 # 题目 32 位程序,只开启了部分 RELRO 直接利用 gets 溢出返回到 后门函数 即可 from pwn import *from LibcSearcher import *context(os='linux', arch='amd64', log_level='debug')#p=
24k22 分钟

# 官方 wp: 0-36: https://ysynrh77rj.feishu.cn/docx/Hw1md0aZSoucFixEf6Ac2otQnwh 37-72: https://ysynrh77rj.feishu.cn/docx/C1LvdsSnYoNIegxVNDEclz83nle # 前置知识: https://blog.csdn.net/m0_56696378/article/details/128067438 https:/
2.2k2 分钟

# bjdctf_2020_babyrop2 # 1. 查看程序 题目开启了 canary,不能随意进行栈溢出 ida 反汇编查看 mian() 看到有三个函数 init() 输出字符串 gift() 看到有个 printf() ,加上 canary 联想到 格式化字符串漏洞 ,用来泄露 canary 的值,然后再进行栈溢出 vuln() 看到 read() 可以进行溢出 # 2. 查看 canary 的值 输入点参数在栈上的相对位置(找偏移量),之前我都是输入 aaa %08x %08x……%08x 这样的字符串去找偏移的,这次不可以(限定了 6 个宽度的的输入),换了一种方法
9.7k9 分钟

由于断断续续写了好久加上自身水平不足导致可能存在逻辑上的错误等等,如有错误,还望指出 先前的理解 改变 index4 的大小后被认为是释放了,然后分配 fastbin (小于 0x80 的在这里) 根据后进先出,分配被认为是释放的 index4 为 index2,在将 index 的大小改回去,此时便让两个 index2 和 index4 都指向了同一个 chunk 通过堆溢出,用还未释放的 index0 来溢出改变 chunk2 的 fd 的地址为 chunk4 ,原来应该通过释放由于后进先出通过 free1,free2 的顺序,fastbin 中是由 chunk2->chunk1,
1.4k1 分钟

# PicoCTF_2018_rop_chain # 1. 首先查看程序信息 发现是 32 位程序,开启了 NX 利用 ida 查看 首先查看 main 函数 里面有个 vuln 函数,查看 发现 ret 到 gets 函数,由溢出可以利用 发现有其他函数 逐个查看 win_function1 win_function2 flag # 2. 分析 1. 由上面的函数可以看出,下面的成立时可以输出 flag if ( win1 && win2 && a1 == -559039827 ) 但是程序并没有调用这些函数,需要我们自己去执