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

news2024/10/5 16:21:33

        很抱歉,博主也是个PWN的入门者。PWN的入门不可能是无痛的。能做到的只是减少一点初学者的痛苦。这篇博客会长期维护,也会越来越好。后期还可能会在B站出视频(博主社恐,要迈出这一步可能需要好长时间)。

 PWN是个啥?我懒得讲那些学术性术语(绝对不是因为我不会)。其实就是二进制漏洞利用,就是利用漏洞,拿到目标服务器的控制权。执行指令,对这个服务器为所欲为。

一、PWN必备的那些工具

想啥呢你?刚入门你就啥都装起来,会用吗?这是篇循序渐进的博客,别想着90度直角起飞。工具我会慢慢引入,不然提前装起来让它们吃灰?

现在我只需要你装3个东西

  1.  IDA7.0pro
  2.  python库pwn
  3. Linux虚拟机

啥?找不到资源。我分享行了吧

IDA pro7.7

链接:https://pan.baidu.com/s/11YzTTBgDzlrg8a_k-raqqw?pwd=6666 
提取码:6666 

解压后

 执行,选择yes即可完成破解

 python安装pwn教程,推荐去看B站星盟安全PWN入门第一集环境安装。不是引流啊,我是确实觉得还可以,小哥哥声音很好听的,对于我这种声控来说简直爱了爱了。

【星盟安全】PWN全集,从入门到精通,最通俗易懂的CTF,持续更新中_哔哩哔哩_bilibili

Linux虚拟机的话,我觉得CTF选手应该都有吧。没有的话建议装Kali。界面很帅,内置工具多,专业攻击机。CentOS,Unbuant也行,其实没那么高要求。安装教程?先百度去吧,后面有可能我自己补一篇。^----^

 二、刷题加学习

我会以NSSCTF,BUUCTF平台的题目做教学,后面也会加其他平台。

NSSCTF网址   https://www.ctfer.vip/indexhttps://www.ctfer.vip/index

 注册教程,这个网站有提示,照着走呗。

BUUCTF

BUUCTF在线评测BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges

1.test_your_nc    ----nc的使用与系统命令执行1

 BUUCTF平台--test_your_nc

不要跳着看,接下来细节满满开始啦。

可以在搜索栏,搜索题目名称,开启环境。

学习目标:

  1. 学会nc指令的使用
  2. 学会使用拿到系统控制权后的指令执行
  3. kali控制台使用

解题流程(我会很细心的写,不像他们大多数的wtrite up,只能做出来,但很难懂):

开启环境

  是不是看到node4.buuoj.cn:27399啦,这个就是你的服务器地址,啥?你个大聪明想用浏览器打开,想啥呢?协议不对啊,这不是HTTP。

基本上题目服务器地址就是以下2种形式  

域名:端口号       如本题
IP地址:端口号     如192.168.32.12:10001

 打开虚拟机,使用nc连接服务器

  开机

桌面右键点击在这里打开终端 

 

 大黑框出现了,但至少比Windows那个好看,这个可是半透明的呀,朦胧的美感,啧啧。 

 写指令

指令形式
nc ip 端口号
nc 域名 端口号

本题
nc node4.buuoj.cn 27399

连上去发现光标不动了

尝试输入指令ls(linux系统中显示当前文件下文件名的指令) ,红色为你输入的指令,绿色是执行后显示的当前目录下的文件名。看到flag了吧。是不是很想打开

 使用cat指令可以读取Linux上的文件

cat 文件名

本题:
cat flag

 去吧,提交你的flag。

2.[SWPUCTF 2021 新生赛]nc    ----nc的使用与系统命令执行2

学习目标:

  1. 学会nc指令的使用
  2. 学会使用拿到系统控制权后的指令执行
  3. 学一点点过滤绕过(大部分题不会有要求绕过过滤)

开启环境

 打开虚拟机,使用nc连接服务器

 写指令

指令形式
nc ip 端口号
nc 域名 端口号


本题
nc node1.anna.nssctf.cn 28456

弹出乱七八糟的玩意。 

 看不懂,去把附件下载下来

里面是python代码,分析一下

 权限直接给我们了,但看程序逻辑,当用户输入列表blacklist中字符串时,自动结束程序。

此时如果输入ls(Linux系统中查看当前目录下文件的指令),就会退出。所以需要绕过这个过滤。

使用l\s,执行时l\s=ls,但在字符串判断时肯定不是相同的。

 如图,我输入了l\s,列出了当前目录下的文件,那么大个flag看到没有,那接下来就要访问它。

我们使用cat指令,读取文件(回头看一下,cat也被过滤了,没事,再加条\,变成c\at flag)

cat 文件名
cat flag

此题存在过滤
要绕过处理

c\at$IFS$9flag

$IFS$9可以替换空格

 出来了。

练习题(想起来我就会添加上来)

以下内容--编写中

3.rip---极简栈溢出

 BUUCTF rip

学习目标:

  1. 使用IDApro7.7
  2. 理解栈溢出
  3. 了解危险函数gets()

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char s[15]; // [rsp+1h] [rbp-Fh] BYREF

  puts("please input");
  gets(s, argv); //危险函数,不受限制的读取,导致栈溢出
  puts(s);
  puts("ok,bye!!!");
  return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT + OpenGL + FFmpeg写的一个全景视频播放器

临时被分配了一个任务 写一个C版本的全景视频播放器 网上搜了搜 基于前辈的基础上 写的差不多了 测试视频源是用ffmpeg拉RTSP的流 最终是要嵌入到别的一个视频播放器模块 所以解码这块我不用太关注 只要实现渲染就可以了 效果如下 左边的窗口用于输入视频源 以及显示…

dtb展开成device_node

dtb展开成device_node 文章目录 dtb展开成device_node设备树是如何传递给内核的?设备树相关结构体举例of操作函数与查找节点有关的 OF 函数1、of_find_node_by_name 函数2、of_find_node_by_type 函数3、of_find_compatible_node 函数4、of_find_matching_node_and_…

5个PPT素材、模板网站,免费下载,赶紧马住了~

推荐几个可以免费下载PPT素材的网站,建议收藏! 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYwNDUx 菜鸟图库网有非常丰富的免费素材,像设计类、办公类、自媒体类等素材都很丰富。PPT模板种类很多,全部都…

Unity 坐标系

一、左手坐标系与右手坐标系 常见的三维软件都采用笛卡尔坐标系,也就是常见的xyz轴坐标系。笛卡尔坐标系可以是左手坐标系也可以是右手坐标系,如下图所示 两种坐标系是镜像对称的。而Unity采用左手系,且xyz轴的默认方向与图中的左手系完全一…

Java【网络编程1】什么是 TCP/IP 五层模型? 数据传输的封装和分用?

文章目录 前言一、网络协议分层二、数据的网络传输1, 封装2, 分用3, 实际情况 总结 前言 📕各位读者好, 我是小陈, 这是我的个人主页 📗小陈还在持续努力学习编程, 努力通过博客输出所学知识 📘如果本篇对你有帮助, 烦请点赞关注支持一波, 感…

Python+Selenium入门级自动化测试脚本编写

一、安装Selenium 安装selenium有三种方式,主要有python下的pip命令安装或者是直接下载安装包进行安装本地文件夹以及直接用pycharm直接安装相应的selenium版本。推荐使用pycharm直接配置安装相应selenium版本(此办法比pip更好用,且不用担心报…

大数据 | (六)Hadoop集群启停脚本

知识目录 一、前言二、Hadoop集群启停脚本2.1 启停脚本及其背景2.2 使用方法 三、jps脚本四、关机脚本五、结语 一、前言 hello,大家好!这篇文章是我在使用Hadoop集群时使用到的启停脚本的详细内容与感想,希望能帮助到大家! 本篇…

【ENVI】SEBS模型计算蒸散发

详细内容请关注微信公众号:夫也的笔记 #01. ENVI软件SEBS插件介绍 ENVI是利用一种能够提供完整图像处理的功能强大的结构性程序设计语言,ENVI的运行需要IDL的支持,IDL可以为数据的交互式分析和可视化提供一个计算环境,在IDL开发环…

【数据库】SQL Server2022安装教程

大家好,我是雷工! 最近需要安装SQLServer数据库,此次安装的是sql_server_2022_developer版本,以下记录安装及配置过程。大家可以参考指正。 一、安装SQL Server步骤: 1、官网下载 SQL Server 2022 Developer。 2、打…

【逆向】PE文件解析

文章目录 PE文件DOS头部PE/NT头解析区段头/区块表解析数据目录表(存放在某个区段)1. 导出表2. 导入表3. 重定位表 PE文件 PE文件:PE文件是在windows平台可执行的文件。包括:.exe(可执行程序),.…

20230511干掉CV1826的buildroot系统的串口用户名和密码root

20230511干掉CV1826的buildroot系统的串口用户名和密码root 2023/5/11 11:56 https://blog.csdn.net/u011342132/article/details/126116391 buildroot跳过密码登录 1、全新原始编译: rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ cd smartpen/ r…

【集群模式】执行MapReduce程序-wordcount

因为是在hadoop集群下通过jar包的方式运行我们自己写的wordcount案例,所以需要传递的是 HDFS中的文件路径,所以我们需要修改上一节【本地模式】中 WordCountRunner类 的代码: //5.设置统计文件输入的路径,将命令行的第一个参数作为输入文件的…

超细详解MyBatis操作数据库(1)

文章目录 1.MyBatis 是什么?2.回顾 JDBC 的操作流程3.MyBatis 在整个框架中的定位4.MyBatis的使用4.1创建数据库和表4.2 添加MyBatis框架支持4.2.1 老项目添加MyBatis4.2.2 新项目添加MyBatis 4.3 配置连接字符串和MyBatis4.3.1 配置连接字符串4.3.2 配置 MyBatis 中…

【一】设计模式~~~创建型模式~~~简单工厂模式(Java)

【学习难度:★★☆☆☆,使用频率:★★★☆☆】 1.1. 模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个…

学习之-spring cache缓存框架应用Redis

本文章用于个人学习记录 一、前言 1、SpringCache是Spring提供的一个缓存框架,在Spring3.1版本开始支持将缓存添加到现有的spring应用程序中,在4.1开始,缓存已支持JSR-107注释和更多自定义的选项。Spring 从 3.1 开始定义了 org.springframe…

设备树dtb文件的格式分析

设备树dtb文件的格式分析 文章目录 设备树dtb文件的格式分析DTB文件格式1.header头部1.magic2.totalsize3.off_dt_struct4.off_dt_strings字符串的偏移量5.off_mem_rsvmap 内存保留映射的偏移量6.version 格式版本7.last_comp_version最后兼容版本8.boot_cpuid_phys 我们正在启…

SpringBoot ( 五 ) 封装响应数据

2.6.业务处理 这是通过 Spring 在 Controller中注入Service模型层 而在 Service模型层 结合 Mybatis / Mybatis-Plus 进行数据加工, 数据持久化 2.7.封装响应值 将 业务处理得到数据封装到 Model作用域中, 伴随着转页将信息传递到页面 2.7.1.传值容器 2.7.1.1.Model 在Cont…

【Qt编程之Widgets模块】-001:QButtonGroup抽象容器

1.QButtonGroup简介 QButtonGroup提供了一个抽象容器,可以将按钮小部件放入其中。它不提供此容器的可视化表示,而是管理组中每个按钮的状态。 互斥按钮组,将关闭除已单击的按钮外的所有可选中(可切换)按钮。默认情况下…

七个合法学习黑客技术的网站,让你从萌新成为大佬

合法的学习网站,以下这些网站,虽说不上全方位的满足你的需求,但是大部分也都能。能带你了解到黑客有关的技术,视频,电子书,实践,工具,数据库等等相关学习内容。以上这些网站我都是用…

项目调研 | Loopring研究报告

一、项目简介及愿景 Loopring协议是一个专为应用程序开发的 zkRollup 协议、一个中继器、一个 L2 非托管交易所、一个智能钱包。用户可以在其中使用、交易和存储资产,同时让资产获得增长。 上述Loopring这些Title具体详情如下: 作为协议,Loop…