DVAR ROP挑战赛 - 附加回合解锁!

本文介绍了DVAR挑战赛的附加回合,要求参赛者利用lightsrv程序中的栈溢出漏洞,构建ROP链绕过XN保护,最终获取shell。文章提供了目标进程的内存映射和详细的任务步骤。

DVAR ROP挑战赛 - 附加回合解锁!

ARM物联网漏洞利用实验室

我首次发布Damn Vulnerable ARM Router(DVAR)时曾承诺会宣布DVAR附加挑战。

我一直在等待第一个栈溢出练习成功完成后再宣布附加挑战。

@JatanKRaval 提供了第一个可行的解决方案,因此现在——附加回合解锁!

DVAR挑战的第二部分是利用交通信号灯服务器“/usr/bin/lightsrv”中的栈溢出漏洞。lightsrv在启动时自动运行,并在端口8080上监听。

你的任务是:

  1. 找到lightsrv的缓冲区溢出向量
  2. 使程序崩溃并获取pc=0x41414140
  3. 逐步构建一个适当的ROP链(XN已启用!)
  4. 获得一个可用的shell!

提示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
exploitlab-DVAR:~# ps
  PID USER  VSZ STAT COMMAND
    :    :    : :    :
  245 root  656 S    /usr/bin/miniweb
  246 root  640 S    /usr/bin/lightsrv <------- [目标]
  292 root 1016 S    -ash
  321 root 1012 R    ps

exploitlab-DVAR:~# cat /proc/$(pidof lightsrv)/maps
00010000-00012000 r-xp 00000000 08:00 512   /usr/bin/lightsrv
00022000-00023000 rw-p 00002000 08:00 512   /usr/bin/lightsrv
40000000-40064000 r-xp 00000000 08:00 185   /lib/libc.so
40064000-40065000 r-xp 00000000 00:00 0     [sigpage]
40073000-40074000 r--p 00063000 08:00 185   /lib/libc.so
40074000-40075000 rw-p 00064000 08:00 185   /lib/libc.so
40075000-40077000 rw-p 00000000 00:00 0
40078000-40089000 r-xp 00000000 08:00 2791  /lib/libgcc_s.so.1
40089000-4008a000 rw-p 00009000 08:00 2791  /lib/libgcc_s.so.1
befdf000-bf000000 rw-p 00000000 00:00 0     [stack]
ffff0000-ffff1000 r-xp 00000000 00:00 0     [vectors]

如果你还没有尝试过DVAR,可以在这里下载: http://blog.exploitlab.net/2018/01/dvar-damn-vulnerable-arm-router.html

即将举行的ARM物联网漏洞利用实验室培训

祝你在DVAR-ROP中玩得开心!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计