合集-buuctf-pwn
摘要:简单题,知道nc怎么用就好 基本用法 nc 地址 端口号 地址可以是一个域名,也可以是ip地址,地址和端口中间不是:,而是一个空格 连接上之后直接ls就看到flag文件了,cat flag查看flag文件的内容获取flag 注意windows上的nc需要下载,linux上一般会自带 flag{c41
阅读全文
摘要:先用checksec看一下保护情况 红色表示没有保护,绿色则表示有相应的保护 关于每种保护会在之后的做题中遇到,也有相应的应对措施,这次就不过多深入 打开ida64分析附件 发现高危函数gets,这个函数不会检查输入的长度,直到用户输入换行符为止 我们可以利用它修改函数的返回地址,从而执行后门函数
阅读全文
摘要:首先检查一下保护情况 没有canary,没有PIE 拖进ida分析 大致就是一个猜数字的程序,有两种解法: 第一种是根据程序逻辑,修改v2的值,满足if条件 第二种是ROP,覆盖fun函数的返回地址,强行跳转至if语句块中 0x01-修改v2的值 双击v2变量,打开主函数的调用堆栈 我们可以看到,v
阅读全文
摘要:题目地址:https://buuoj.cn/challenges#[第五空间2019 决赛]PWN5 先检查一下保护情况 再拖进ida里分析 找到一个格式化字符串漏洞,那么我们可以利用这个漏洞去获取或者改写dword_804C044的值 从而进入if语句中,拿到shell 什么是格式化字符串漏洞 所
阅读全文
摘要:题目地址:https://buuoj.cn/challenges#get_started_3dsctf_2016 检查一下保护情况 拖进ida分析 主函数有个很明显的栈溢出漏洞 没有找到system函数,但是发现了这个函数 后面有两种解题思路 0x01 调用get_flag函数 这个函数读取了fla
阅读全文
摘要:检查一下保护情况 ida里选项2,3都没有什么重要的信息,直接看选项1 发现栈溢出漏洞,不过程序对输入的字符串有一个异或加密,这里可以构造异或后的payload,利用程序来解密,或者可以直接在payload第一位加上'\x00',直接截断payload后面的异或操作 用cyclic测一下溢出点,得到
阅读全文
摘要:查看一下保护情况 丢进ida里分析 主函数调用了一个含有alarm的函数,这个函数会设置一个定时器,到时间自动退出程序 为了方便调试,我们直接patch掉这个函数 接着分析,主函数读入了一个随机数,并将其传入sub_804871F函数 sub_804871F函数读取输入,并检查输入的是否和随机数相同
阅读全文
摘要:checksec ida 我们看到在vul函数中,有两个read函数,每个都读取了0x30(48)大小的字符,并放入字符数组s中,也就是说我们能溢出的只有8个字节,刚好覆盖到ebp和返回地址 所以我们需要栈迁移,使我们能溢出更多字节 首先利用第一个read,输入40字节的数据,刚好覆盖到ebp,然后
阅读全文