pwn环境搭建_CTF中pwn题的搭建

本文介绍了如何在Ubuntu中搭建CTF pwn题环境,包括关闭ASLR、禁用PIE,以及使用socat和nohup挂载程序到端口。还澄清了ASLR和PIE的区别,ASLR提供了三个级别的随机化,而PIE使程序加载地址无关。
摘要由CSDN通过智能技术生成

2017年5月11日 补:

1、socat 中有参数reuseaddr,使用的时候加上这个,顾名思义,这个参数的意思就是地址(端口)重用,是为了防止socat绑定失败或者由于某些情况退出时,重新使用此端口需要等待2分钟的时间。

如果端口忙,但TCP状态位于 TIME_WAIT ,可以重用端口。如果端口忙,而TCP状态位于其他状态,重用端口时依旧得到一个错误信息,指明”地址已经使用中”。如果你的服务程序停止后想立即重启,而新套接字依旧使用同一端口,此时SO_REUSEADDR 选项非常有用。必须意识到,此时任何非期望数据到达,都可能导致服务程序反应混乱,不过这只是一种可能,事实上很不可能。

3、关闭地址空间随机化PIE(ASLR)

一般情况下NX(Windows平台上称其为DEP)和地址空间分布随机化(ASLR)会同时工作。

内存地址随机化机制(address space layout randomization),有以下三种情况

0 - 表示关闭进程地址空间随机化。

1 - 表示将mmap的基址,stack和vdso页面随机化。

2 - 表示在1的基础上增加栈(heap)的随机化。

之前提到可以使用命令sudo -s echo 0 > /proc/sys/kernel/randomize_va_space来关闭ASLR,但是经提醒,这样关闭了所有程序的随机化还是有一定的风险的,所以可以在程序编译的时候增加参数-no-pie关闭程序的pie,只关闭此程序的随机化,而其它的程序不变

可以看到开启了pie的程序地址会一直变化

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值