摘要:
首先查看一下保护措施 栈是不可执行的 然后用ida打开看一下 这里有一个之前没见过的函数mprotect,它是动态改变内存区域的访问权限 然后改变的范围就是stdout的地址和0xFFFFFFFFFFFFF000进行位与运算,得出来得地址作为起始地址,然后0x1000+起始地址就是结束的地址 这里b 阅读全文
posted @ 2025-09-02 17:08
Rye01R
阅读(29)
评论(0)
推荐(0)
摘要:
首先查看一下文件的保护措施 然后用ida打开看一下 这里输入v4的值之后就可以控制向一个地址输入输入数据,然后后面if的判断为真时就直接获得flag了 点击查看代码 from pwn import * io=remote("node4.anna.nssctf.cn",28536) io.sendli 阅读全文
posted @ 2025-09-02 15:55
Rye01R
阅读(31)
评论(0)
推荐(0)
摘要:
首先检查一下保护措施 然后用ida打开看一下 这里是要输入一个v4的值,如果不符合要求,就直接退出程序了,输入v4等于 1 即可 然后进入另一个函数 这里gets函数就存在栈溢出 然后应该是对输入的字符串进行一些操作 因为这里的x是无符号的整数,那么我在进行输入数据时就直接输入 "\x00",使得s 阅读全文
posted @ 2025-09-02 15:17
Rye01R
阅读(27)
评论(0)
推荐(0)
摘要:
首先查看一下保护措施 再用ida打开看一下 这里主要是vulnerable函数 这里就存在栈溢出,但是溢出的空间比较小,是38-24=14 这里直接调用了system函数,但是参数不太对,可以取用最后的sh作为参数,再次调用system函数 但这里在调用system函数时如果选择跳转到plt表进行调 阅读全文
posted @ 2025-09-02 11:17
Rye01R
阅读(24)
评论(0)
推荐(0)
摘要:
首先查看保护措施 这里开启了PIE的保护 然后用ida打开看一下 这里打印了main函数实际的地址,那么可以接收这个地址,算出偏移量 vuln函数存在栈溢出 并且直接给出了shell,那就用算出的偏移地址加上在ida中看到的shell的地址,就是shell真实的地址 点击查看代码 from pwn 阅读全文
posted @ 2025-09-02 10:29
Rye01R
阅读(37)
评论(0)
推荐(0)

浙公网安备 33010602011771号