『攻防世界』:进阶区 | monkey

这题的解题最终过程很简单,但是其中的原理我不太清楚,特别是刚拿到题的时候。

题目给的附件解压后里面一个程序及几个库文件。(开始我传文件给我liunx的时候没有传完[20多m的文件]就终止导致运行失败显示段缺失)

这题本来不想折腾wp的,但是最终还是决定要记一下:

checksec:

[*] '/home/zowie/monkey/js'
    Arch:     amd64-64-little
    RELRO:    No RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      No PIE (0x400000)

运行情况:

 1 zowie@zowie-PC:~/monkey$ ./js
 2 js> ls
 3 typein:1:1 ReferenceError: ls is not defined
 4 Stack:
 5   @typein:1:1
 6 js> exit() 
 7 typein:2:1 ReferenceError: exit is not defined
 8 Stack:
 9   @typein:2:1
10 js> 

我以我0.001年的代码学习经验觉得这是层特殊的shell,但是还是毫无头绪,在ida中分析的东西更是看不懂。去网上看看有没有哪位老湿傅的wp能救我于水火。

看完了,圈一个对我来说重要的考点:1、在python+pwn中使用动态链接库:

p = process([process_name], env={'LD_LIBRARY_PATH':'./'})

 还有就是进过大佬的调试发现能够执行js函数,这是我的知识盲区,总的来说就是发送'os.system(\'cat flag\')'就可以得到flag了,是不是感觉很熟悉

posted @ 2020-08-31 23:24  Little_Fdog  阅读(507)  评论(0编辑  收藏  举报
TOP 底部