Closed lyq1996 closed 1 year ago
请问调试具体是用什么办法调试的呢,我尝试在本机上调试(自己弄了个假flag,运行gen.py,然后gdb /usr/bin/python ,set args elf.py),直接r完全看不到有libcflag.so的映射段啊?(运行完程序就结束了)
本机上能够dump出内存分析了,但是在对方的服务器上应该如何操作?
服务器上是以端口形式开放给客户,这不存在可以dump的可能啊?
@wsxk 本机上能够dump出内存分析了,但是在对方的服务器上应该如何操作?
ssh elf@pwnable.kr -p2222,这个就是给你调试用的啊,上去之后nc xxxx才是获取flag的。
@wsxk 服务器上是以端口形式开放给客户,这不存在可以dump的可能啊?
最后把这片内存dump出来,然后print一下手动把flag拿出来即可。
这里的dump,指的是在确定了flag所在内存地址后,保存通过elf.py读出的32字节内容
@lyq1996
@wsxk 本机上能够dump出内存分析了,但是在对方的服务器上应该如何操作?
ssh elf@pwnable.kr -p2222,这个就是给你调试用的啊,上去之后nc xxxx才是获取flag的。
ssh上去后,通过在/tmp目录下创建flag文件,然后修改gen.py文件读取的路径,修改elf.py文件。这样来操作的吗
不对啊,就算ssh elf@pwnable.kr -p2222后,我们不能改gen.py也不能改elf.py 如何来调试?
不对啊,就算ssh elf@pwnable.kr -p2222后,我们不能改gen.py也不能改elf.py 如何来调试?
要把gen.py和elf.py copy到/tmp/xxx...
@lyq1996
不对啊,就算ssh elf@pwnable.kr -p2222后,我们不能改gen.py也不能改elf.py 如何来调试?
要把gen.py和elf.py copy到/tmp/xxx...
哦哦哦,我知道了,谢谢师傅!
https://lyq.blogd.club/2021/11/27/elf-writeup/
0x01 分析首先ssh上去看看。 elf.py: 12345678910...libc = CDLL('libc.so.6')flag = CDLL('./libflag.so')...for i in xrange(25): sys.stdout.write('addr?:') sys.stdout.flu