IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> BUUCTF--[GWCTF 2019]re3学习记录 -> 正文阅读

[系统运维]BUUCTF--[GWCTF 2019]re3学习记录

作者:recommend-item-box type_blog clearfix

又是一道很操(没做出来)的题目,学习其他师傅的思路。

第一步:

常规操作,无壳64位,放入IDApro中。

搜索找到main函数,出现红色提示

栈存在问题,修改一下栈的值

?查看main函数,读取,mproct函数,一种保护函数,不是很重要。

mprotect函数详解

?SMC自修改代码

在真正执行某一段代码时,程序会对自身的该段代码进行自修改,只有在修改后的代码才是可执行的。在程序未对该段代码进行修改之前,在静态分析状态下,均是不可读的字节码,IDA之类的反汇编器无法识别程序的正常逻辑。


第一次看,一脸懵逼,到这里就卡住了,把函数+i??? wtf???点进去查看

?大概意思是将sub_402219函数的汇编代码修改了,最后再次执行,我们静态分析看不出来。而且这里无法动态调试。

查看汇编代码

?发现这里出现了一大堆数据,应该就是我们需要处理的数据。

选中402219数据段 D键转换为数据段。

?这时我们就需要使用IDC脚本进行数据修改(一种类c语言)shift+F2

IDC脚本介绍

IDC脚本举例

IDC函数

#include <idc.idc>

static main()
{
    auto addr = 0x402219;     //声明局部变量 addr是起始地址
    auto i = 0;
    for(i=0;i<224;i++)        
    {
        PatchByte(addr+i,Byte(addr+i)^0x99);   //设置虚拟地址addr处的一个字节值
    }
}

然后将修改后的数据选中,右键分析,选择force强制执行,然后把代码按P键形成函数。

?我们分析一下函数,点进去都是好长一段,试试findcrypt插件,可能是某种加密,发现是AES

?byte_6030A0就是最后加密后的内容

BC0AADC0147C5ECCE0B140BC9C51D52B46B2B9434DE5324BAD7FB4B39CDB4B5B

现在我们需要来求密钥unk_603170.linux远程动态调试(输入一个长为32位的字符串)

CB8D493521B47A4CC1AE7E62229266CE

最后学习别的师傅的脚本

from Crypto.Cipher import AES
from Crypto.Util.number import *
key = long_to_bytes(0xcb8d493521b47a4cc1ae7e62229266ce) #密钥
mi = long_to_bytes(0xbc0aadc0147c5ecce0b140bc9c51d52b46b2b9434de5324bad7fb4b39cdb4b5b) #密文
lun = AES.new(key, mode=AES.MODE_ECB)
flag = lun.decrypt(mi)
print(flag)

得到最后的flag为

flag{924a9ab2163d390410d0a1f670}

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 13:06:47  更:2021-11-11 13:06:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:43:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码