16 人签到
    搜索
    Hi~登录注册
    查看: 126|回复: 1
    收起左侧

    【CTF-PWN】pwn1-CGfsb

    [复制链接]

    13

    主题

    3

    精华

    50 小时

    在线时间

    荣誉会员

    Rank: 8Rank: 8

    积分
    51
    发表于 2019-6-5 22:09:22 | 显示全部楼层 |阅读模式
    Pwn-CGfsb

    PWN是CTF比赛中重要的一个方向呐

    在很长一段时间内pwn是各参赛团队的主要拉分方向

    由于小编自己所在的CTF小队在pwn方向直接都是空白的

    在比赛当中分数少了好多好多呐Emmm

    so.我决心认真入坑pwn

    然后就搭建了pwn环境开启了pwn师傅的成长历程

    然后整了一个简单一点的pwn题目开始试水了

    >_< 中间还是遇到了不少问题呐 >_<

    >-< 一点点努力解决了诶 >-<
    【CTF-PWN】pwn1-CGfsb



    题目描述就是这样呐,还有一个名字为CGfsb的elf小文件
    直接把它丢到ida里瞅一眼
    在main里面随便找了一个函数然后F5调出来伪代码

    然后就看到了这个程序的重要部分了
    【CTF-PWN】pwn1-CGfsb

    在箭头指向的地方只要满足pwnme == 8这个条件
    就能执行系统指令得到flag的样子
    根据题目的描述printf可能存在格式化字符串漏洞
    点pwnme这个变量看一眼
    得到全局变量地址
    bss:0804A068 pwnme
    然后就是确定一下偏移量了

    这个我们可以通过 输入message的时候,把 pwnme的地址写到
    这个位置,然后确定偏移
    (利用格式化字符串漏洞的任意内存写)
    【CTF-PWN】pwn1-CGfsb

    由此得出偏移的量为10
    然后很容易构造 'aaaa%10$n'这样的payload
    然后就是根据现在的这堆东东写一个脚本呐
    不要忘了加上端口号
    【CTF-PWN】pwn1-CGfsb
    脚本就是这啦还是比较简单容易理解呐
    run run run~~~
    (其实跑的过程遇到了一点点小问题跑了一晚上才整明白环境呐)
    其实还是因为pwntools这个库的版本没整明白的小问题>-<
    【CTF-PWN】pwn1-CGfsb
    然后得到flag~~
    补充补充一个小知识
    ##格式化字符串漏洞知识点##
    %n 将当前已打印字符的个数(4个字节)
    %<正整数n>$< fmt>指定占位符对应第n个参数,例如:%12$x,此处%x对应第12个参数。

    欧呐~~第一次做pwn的题也收获了很多知识点呐^_^






    上一篇:【XCTF攻防世界】misc - misc1
    下一篇:VIM任意代码执行漏洞复现
    回复

    使用道具 举报

    0

    主题

    0

    精华

    19 小时

    在线时间

    新手上路

    Rank: 1

    积分
    6
    发表于 2019-6-6 14:45:16 | 显示全部楼层
    老表牛皮,能直接看明白的wp,不愧也是大佬啊
    回复 支持 反对

    使用道具 举报

    游客
    回复
    您需要登录后才可以回帖 登录 | 获取账号

    快速回复 返回顶部 返回列表