首页 > 其他分享 >CTF-PWN学习-为缺少指导的同学而生

CTF-PWN学习-为缺少指导的同学而生

时间:2023-12-15 12:44:34浏览次数:23  
标签:shell 程序 flag 漏洞 CTF playload PWN 而生

更新公告:

2023-7-5晚上21:12 已更新,对内容做了些调整。

调整如下:

添加解题步骤描述

添加专业名词描述

博主也是个PWN的入门者。PWN的入门不可能是无痛的。能做到的只是减少一点初学者的痛苦。这篇博客会长期维护,也会越来越好。

PWN是什么

CTF中PWN题型通常会直接给定一个已经编译好的二进制程序,然后参赛选手通过对二进制程序进行逆向分析和调试来找到利用漏洞,并编写利用代码发送playload,通过远程代码执行来达到攻击的效果,最终拿到目标机器的shell(控制台权限)来夺取flag。

 

专业名词

二进制程序:常为C、C++及python写的一段程序,程序中往往包含着这样那样的漏洞。

逆向分析:利用反汇编等途径查看源代码并对程序进行理解的过程

调试:程序调试是指通过分析和排查程序中的错误和问题,以找出程序运行过程中的错误和异常,并进行修复和优化的过程。调试是软件开发过程中非常重要的一环,可以帮助开发人员快速定位和解决程序中的问题,提高程序的质量和稳定性。

playload:payload是指用于利用程序漏洞的输入数据或代码。通过构造恶意的payload,攻击者可以利用程序中的漏洞来执行任意的代码或获取系统权限。

shell:"shell"通常指的是一个交互式的命令行界面,可以用于执行系统命令和操作。可以说,拿到了shell,你就是服务器的拥有者。自然而然就可以光明正大的查找这台服务器上的flag

解题步骤

获取题目附件

将附件复制一份到Linux虚拟机中,使用checksec指令检查程序开启的保护和程序的位数(32位或64位)

打开题目环境,使用nc指令连接服务器,尝试猜测程序的功能,有时签到题会在你nc上去后,直接提供给你系统权限,此时可直接使用系统指令,寻找flag

使用对应位数的IDA工具对附件进行反编译,理解并发现其中的漏洞

分析漏洞,使用python和pwntool库编写攻击脚本playload。

最后,让你的攻击脚本跑起来,成功拿取权限后,flag即可到手

本博客在B站有配套视频,随博客同步跟新,但博客内容的替换和更新会更加频繁。等博主社恐的毛病处理好,视频会重新录制,现在可能有些糟糕。还望大家见谅

Rotten战队的个人空间-Rotten战队个人主页-哔哩哔哩视频

标签:shell,程序,flag,漏洞,CTF,playload,PWN,而生
From: https://www.cnblogs.com/yuwoxinanA3/p/17903136.html

相关文章

  • STM32在CTF中的应用和快速解题
    题目给的是bin文件,基本上就是需要我们手动修复的固件逆向。如果给的是hex文件,我们可能需要使用MKD进行动态调试主要还是以做题为目的详细的可以去看文档:https://pdf1.alldatasheet.com/datasheet-pdf/view/201596/STMICROELECTRONICS/STM32F103C8T6.htmlSVD文件下载:https://gi......
  • CTFpwnAD世界pwnstack题解及栈溢出两种解法
    问题的出现这题我刚看到时差点没笑出来,但是尝试了一次之后我就笑不出来了。这题给了back_door后门函数,但是如果直接覆盖返回到后门函数起始位置会出现栈溢出问题。到这一步都没有出现问题,而继续ni的话就会卡住。基本上这里看到xmm0就是栈对其问题了。出现问题原因很简单,linux系统一......
  • CTFpwnAD世界dice_game题解wp
    惯例checksec一下看看main首先seed函数用时间生成一个随机数,这个随机数做为srand函数的参数让srand函数生成一个种子。(这个种子会影响后面的rand函数生成结果,并且同样的种子会使rand函数生成同样的随机数,就是所谓的伪随机)以及看到这里会有连续五十轮游戏。sub_A20这里就是每一轮......
  • Buuctf-Crypto-之深夜刷题部分wp
    萌萌哒的八戒     首先下载好附件,解压,是一幅猪图,图的下方是一串看不懂的字,百度输入关键词猪、密码,可知这是猪圈密码,手撸得WHENTHEPIGWANTTOEAT     大写不对,换成小写。     whenthepigwanttoeat   传统知识+古典密码       首先下载好......
  • 山河CTF(部分write up)
    MISC[WEEK1]签到题下载题目并打开:base128编码:Wm14aFozdDBhR2x6WDJselgyWnNZV2Q5因为是base128编码,所以通过两次base64解码,即可得出flag爆出flag:flag{this_is_flag}总结:这道签到题主要考察了对base64编码的基础了解[WEEK1]Steganography下载题目并打开:有三个文件,两个图片文件和一个......
  • ctfhub-git泄露(ubuntu下)
    首先用dirsearch扫描发现可能存在git泄露用githack工具来把源代码克隆到本地*主要注意ubuntu下的githack安装首先githack需要python2的环境,但我的ubuntu是python3  首先安装python2,输入以下指令sudoaptinstallpython2安装完成后,可以检查ubuntu目前可用的python......
  • 金盾杯 pwn awd
    金盾杯pwnawd难点就是利用链表控制节点,理清其中的关系分析程序在初始化程序时会申请一个0x10的chunk作为一个头,在add中会申请三个堆块,第一个堆块就是用于存放第二个堆块的id,size,address,第二个堆块就是用于存放输入内容,第三个堆块就是存放第一个堆块的地址,和下......
  • GKCTF2020WP-Crypto Misc
    Crypto小学生的密码学题目e(x)=11x+6(mod26)密文:welcylk(flag为base64形式)我的解答:考点:仿射密码,已知a,b结果base64加密即可flag{c29yY2VyeQ==}汉字的秘密题目你能看出汉字的奥秘吗?答案形式:flag{小写字母}王壮夫工王中王夫由由井井人夫中夫夫井王土土......
  • 【flutter对抗】blutter使用+ACTF习题
    最新的能很好反编译flutter程序的项目‍1、安装gitclonehttps://github.com/worawit/blutter--depth=1​然后我直接将对应的两个压缩包下载下来(通过浏览器手动下载)不再通过python的代码来下载,之前一直卡在这个地方。如果读者可以正常运行init_env_win.py,手动这一步可以省......
  • OSCP(扩展篇靶机Pwnlab)
    第一步:nmap与nikto  得到线索:/config.php:PHPConfigfilemaycontaindatabaseIDsandpasswords. 第二步:DotDotPwn进行模糊测试DotDotPwn是一个模糊测试工具,用于发现软件中的遍历目录漏洞,例如HTTP/FTP/TFTP服务器,Web平台的应用程序(如CMS,ERP,博客等)。DotDotPwn是用p......