首页 > 其他分享 >2023届的信安大挑战——pwn(持续更新!)

2023届的信安大挑战——pwn(持续更新!)

时间:2023-11-17 14:58:22浏览次数:29  
标签:函数 read flag sh 2023 pwn 信安大 IDA

这是我打的第一次比赛,主打的pwn方向,纪念我的成长
需求:一定的linux系统的命令指令知识,基础的汇编代码,配置好了的虚拟机(打pwn建议是ubuntu),pwntools的使用,python的使用,ROPgadget的使用
每次把文件拖入IDA前记得用Exeinfope进行检查一下,看是x86还是x64

网络猫咪

首先打开题例,可以发现提示里就有个nc,就是个普通的nc题
格式:nc IP 端口
image
最后输入ls列出当先文件中所包含的其它文件,找到flag,使用cat flag指令获取flag里的内容,显示出的内容就是本题的flag
image

看看你的shell

打开题例,下载附件,使用IDA查看代码
image
image
乍一看下,main函数里似乎没有什么漏洞,那么就在子函数里寻找有没有别的漏洞
当我们点开sub_1C86的时候,发现了有意思的东西,"sh"和"flag"都被过滤掉了,说明我们很有可能要从这里下手
image
先nc一下试试
image
发现IDA里未识别的函数名在这里都有了名称,且第五个是command,恰好与sub_1C86对应,我们有理由怀疑这就是类似终端的命令
虽然它过滤了"sh",但是我们还有另一个"$0"可以利用,其作用等效于"sh""/bin/sh",将其输入即可获得shell
最后ls和cat即可
image
不过佬在这种漏洞上还有其它两种不同解法:
1.过滤掉了"flag",可以用"cat /*"来查看当前目录下的所有文内容
image
2.过滤掉了"flag",可以用"/???/??? ????"来进行匹配(这是个什么原理我还不知道)
image
当然这都只是其中一个方法,属于逻辑漏洞,佬们还有另一个解法,我还没理解,就先不写这个了

stack_is_so_easy

题例,下载!
image
拖进IDA看看呢,一眼看到backdoor函数呢,可以狠狠对它进行栈溢出呢
image
image
脚本构造如下~
image
轻松拿下flag~
image

easy_shellcode

依然是打开题例,下载附件
image
使用checksec查看保护机制,发现开了NX保护和部分地址随机化
image
使用IDA查看代码,然后会看见几个很明显的有漏洞的函数,read,my_read,这两个就是本次的关键
image
因为addr并不在栈上,所以NX无法保护到它,并且read读取的字节数够长,我们可以考虑在read中插入shellcode传入addr中,而在my_read中进行栈溢出跳转到addr中获取到shell。
但是在my_read后有个刺头strlen不让我们输入超过9字节长度的数据,和栈溢出相冲突,那么此时,我们可以考虑绕过它。只要在输入的字节中开头使用'/x00'字符后,strlen便不会再检测后边的数据,就可以进行绕过了,那么,脚本如下
image
运行脚本后就可以获得flag啦!
image

messageborad

开头就不赘叙了,大家都懂,确实有个后门函数,也可以进行栈溢出
image
image
但是我们进入backdoor后发现,调用的system函数里的参数并不是我们想要的,那么我们就要想办法向里边传参
image
在汇编代码里找到了一串很长的稀奇古怪的"bin/sh"字符串,将它的字节数展开(按"A"),会变成一个个字符,我们需要的只是"sh"(sh作用等效bin/sh),获取sh中s的地址即可
image
image
那么我们此时的思路就是,进行栈溢出后,设法将获取到的sh地址传入system中即可,但是没有return该怎么办呢?这里就要介绍到我们强大的ROPgadget了!能够在二进制文件里寻找我们需要的汇编代码及其相关地址,是pwn的必备工具之一!
哦对,别忘了在进行ROPgadget之前查看是x86还是x64
image
在这里我已经查看了是x64,参数不会直接寄存于栈上,而是会在寄存器中,依次存在Rdi,Rsi,Rdx,Rcx,R8,R9中,当参数大于6的时候,才会将参数保存在栈中。
此时使用ROPgadget搜索Rdi,恰好这就是我们需要的,在保存一个参数之后可以直接进行return指令
image
此时我们的思路已然明了:栈溢出——跳转到rdi——将"sh"的地址数据传输到rdi中——ret回backdoor函数中调用system函数——运行脚本——获取权限和flag
image
image

标签:函数,read,flag,sh,2023,pwn,信安大,IDA
From: https://www.cnblogs.com/falling-dusk/p/17837794.html

相关文章

  • 2023.11.17——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis2.flash明日计划:学习......
  • 【专题】2023快手母婴行业数据报告PDF合集分享(附原数据表)
    品牌一直在思考如何更好地了解消费者的需求,特别是在年轻化和线上消费趋势加强的母婴行业。根据《2023母婴行业数据报告合集》,短视频直播平台成为该行业新的增长点。报告合集显示,母婴商品的消费人数在2022年全年和2023年前两个月均呈快速增长趋势。用户的购买力和品单价也在提升,实......
  • 【专题】2023年轻人催婚报告PDF合集分享(附原数据表)
    随着10月的到来,我们已经踏入了年末冲刺阶段,是否准备好应对家庭的盘问了?工作稳定、挣多少钱、买房与否,最后总是绕不开催婚话题。报告合集年轻人分享了自己面临的催婚压力和对婚姻的态度及看法。调查中,74.8%的人认为不存在结婚时限,而25.2%的人则有着结婚期限的设定,其中11.9%的人认为3......
  • KiCon Asia 2023完美落幕,助力Kicad生态繁荣,华秋在行动
    11月12日,首届KiConAsia2023在深圳完美落幕。本次大会聚焦开源EDA-KiCad项目的发展及生态,围绕KiCad工具近况,KiCad在芯片及PCB设计中的应用,如何开发自己的KiCadPython插件,及DFM与KiCad的结合等方面展开了分享与互动。除了满满干货,有趣好玩的“Simple-Add-Onhat”动手实......
  • 恒驰喜讯 | 荣获2023项目管理论坛“最佳集成服务伙伴”、“卓越合作伙伴项目经理”双
    2023年11月7日~8日,以“价值交付·共创未来”为主题的2023年项目管理论坛在深圳坂田成功举办。论坛上,来自海内外交付领域的200多名专家围绕项目管理实践、交付案例与项目优化等主题展开了深入交流,并就各区域项目管理案例做了经验分享,为全球范围内的项目管理优化及交付升级提供了宝贵......
  • 每日总结2023年11月17日
    AccesstoXMLHttpRequestat'http://localhost:8090/user/list'fromorigin'http://localhost:8080'hasbeenblockedbyCORSpolicy:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.这是今天做SpringBoot+......
  • StoneDB顺利通过中科院软件所 2023 开源之夏 结项审核
    近日,中科院软件所-开源软件供应链点亮计划-开源之夏2023的结项名单正式出炉,经过三个月的项目开发和一个多月的严格审核,共产生418个成功结项项目!其中,StoneDB作为本次参与开源社区,社区入选的两个项目顺利结项!参与项目的两位来自浙江大学的同学均获得最终结项证书。2023年......
  • 2023年11月中国数据库排行榜:OPO组合持续两月,亚信、中兴闯进前十
    长夜之中蓄力待,势如破晓初光披。 2023年11月的 墨天轮中国数据库流行度排行 火热出炉,本月共有283个数据库参与排名。本月排行榜前十名变动较大,TiDB上升一位居第4,达梦奋勇向前重归第6,亚信AntDB、中兴GoldenDB势如破竹进军10强。 墨天轮十巨头之争白热化,中国数据库行业将迎......
  • 【2023-11-09】家庭效益
    20:00如果有人倾听你,不对你评头论足,不替你担惊受怕,也不想改变你,这多美好啊……每当我得到人们的倾听和理解,我就可以用新的眼光看世界,并继续前进……这真神奇啊!一旦有人倾听,看起来无法解决的问题就有了解决办法,千头万绪的思路也会变得清晰起来。          ......
  • 2023-2024-1 20211327 信息安全系统设计与实现 学习笔记10
    学习笔记块与I/O缓冲区I/O缓冲区管理算法比较实践过程块与I/O缓冲区块设备1.定义:块设备是一种数据存储设备,其数据以块为单位进行读写。块通常是一个固定大小的数据块,比如512字节或4KB。2.示例:硬盘驱动器、固态硬盘、光盘等都是块设备的例子。3.特点:数据以块为单位传......