自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 pwn -- pwnable.kr -- simple-login---学习stack pivot

在看关于pwn的书时学到了 栈帧劫持stack pivot 利用这个例题练习一下。基本思想:stack pivot利用到的gadget是在函数退出时需要的两条指令:leave(mov esp,ebp;pop ebp);ret;。这两条指令基本都会有。可以利用这两条指令,通过栈溢出的方式,实现可以完全控制栈。stack pivot实现的基本方法(我的理解通过栈溢出的方式将 我们之后要实现的完全可控的栈的地址写到EBP的地方写入之后 ,程序第一次leave;ret;,将写入的地址赋给esp。

2021-12-24 12:23:52 375

原创 攻防世界 pwn--实时数据检测

32位程序保护都没有开直接拖进ida分析int locker(){ int result; // eax char s[520]; // [esp+0h] [ebp-208h] BYREF fgets(s, 512, stdin); imagemagic(s); // 含printf函数,有格式化字符串漏洞 if ( key == 0x2223322 ) // key在bs

2021-11-30 15:32:22 341

原创 攻防世界 pwn--pwn-100

一、checksec一下开启了NX二、 file一下,查看文件属性64位文件三、执行让用户不断输入四、拖进ida里分析看反汇编代码主要代码:数组v1的大小是0x40,后面利用的read函数的size是0xC8,有栈溢出漏洞五、在ida里没有找到可以利用的system("bin/sh)和system("cat flag")六、原程序中没有调用system函数,在GOT和PLT表中没有随system函数的记录,只能从libc中寻找system函数有puts和read函数,可以利用

2021-11-28 14:20:44 3468

原创 攻防世界pwn--Mary_Morton

攻防世界pwn–Mary_Mortonfile 一下,查看文件属性checksec一下,查看保护措施开了canary,在调用函数的时候会在栈上设置一个标志,标志的位置:EIPEBPcanary logol···栈的其他内容开了NX,栈不可执行。运行一下ida查看其反汇编代码在ida里看到有system函数:地址:0x4008DAgdb调试,查看格式化字符串参数的位置第六个位置查看有关栈溢出的函数:可以利用的栈溢出的buf的位置:rbp

2021-11-16 22:05:42 2293

原创 攻防世界 pwn string

存在格式化字符串漏洞漏洞点:写入shellcode的点 :判断*a1是否等于a1[1],*a1 = 68,a1[1] = 85。下面有一个read函数,将输入存放在v1,再下面有一个通过函数指针进行强制类型转换,将刚才的输入转换成一个函数,最后执行。exp:from pwn import *#p = process("./string")p = remote("111.200.241.244",'52204')p.recvuntil("secret[0] is ")addr =

2021-10-25 10:57:02 235

原创 反调试方法---0xCC检测--检验API断点实现反调试

反调试0xCC检测软件断点的原理:调试器在对应设置断点的位置上修改该地址的字节为0xCC。若是关键位置检测到该指令,可以判断进程处于调试状态。0xCC既可以是INT 3指令,也可以是其他指令的操作数。API断点API断点一般下在API的首地址处或函数返回地址处。检查这些易被下端的地址首字节是否为0xCC就可以判断程序是否正在被调试检验代码(以MessageBoxA函数为例):#include <Windows.h>#include<iostream>using na

2021-08-25 10:11:50 1172

原创 Agent Tesla样本分析

样本信息md5: fa548af33ac073be63464186b33198aafilesize: 537.50kbfiletype:exe文件的可疑行为:样本分析资源:tesla样本的一个小特点:会利用资源文件中的图片资源或PE资源解密出一个文件,再利用解密出文件的资源再解密出文件…类似套娃。这里直接调试,通过调试得到byte[] rawAssembly = this.method_2(Class25.smethod_4(), Class6.smethod_0(-92154936

2021-08-09 15:25:57 1155

原创 KimSuky病毒分析

KimSuky病毒分析文章目录KimSuky病毒分析WinMain()sub_4011e0()sub_403600()sub_401580()sub_401770()sub_401950()sub_402790()CreateThread()StartAddress()sub_402F30()sub_401AA0()总结文件名称:KimSuky.exe.sampleSHA256:3110f00c1c48bbba24931042657a21c55e9a07d2ef315c2eae0a4222346231

2021-06-02 19:01:39 280

原创 buuctf pwn1_sctf_2016

checksec一下子,开了NX保护,栈不可执行,也就是说不能往栈上写东西。拖进ida,看vuln()函数:给s分配了0x3C空间的内存,但是只允许输入32个字节但是“you”会把“I”替换掉,所以只要输入20个“I”,替换之后,输入的字符就变成了60个字节,就可以写到栈底从而把ebp覆盖掉,到达eip的地方。20个”I“,加上需要覆盖的ebp的四个字节,加上覆盖到eip的四个字节,共28个字节,没超32.ida里还可以看到get_flag函数。找到函数的地址,写exp:from pwn imp

2021-04-27 22:41:51 323

原创 攻防世界mobile--easyjava

近两天刚刚接触安卓逆向,做一下攻防世界的题。记录一下做题笔记。放进夜神模拟器,看一下将程序加载进JEB,反编译一下。三个函数。MainActivity、a、b。MainActivity函数里,flag以flag{开头,以}结尾还有判断flag是否正确的 onCreate 函数。如果输入的字符串经过加密操作之后与"wigwrkaugala"相同,则flag正确。加密部分: private static char a(String arg1, b arg2, a arg3)

2021-04-12 23:40:48 306 3

原创 记一次简单的dll注入

目录第一章 DLL注入基本概念与原理1.1 DLL1.2 DLL注入1.3DLL注入的实现方法1.4DLL注入步骤第二章 相关工具介绍2.1 相关软件2.1.1 ProcessExplorer2.1.2 VC6.02.1.3 IDLE2.2 相关API函数2.2.1 OpenProcess(processthreadsapi.h)2.2.2 VirtualAllocEx(memoryapi.h)2.2.3 WriteProcess...

2021-03-21 21:08:27 1347

原创 学PE文件结构之记笔记

之前学过PE,但由于是只看的小甲鱼的视频,没有做笔记,后来就记忆模糊了。再重温一遍,做一下笔记。记忆更深刻一点。PEPE(protable executable) 可移植的可执行文件EXE和DLL文件之间的区别是语义上的,他们使用完全相同的PE格式。唯一的区别:用一个字段标识出EXE或DLL。64位Windows,新的PE : PE32+。普通PE:PE32.PE32+没有任何新的结构加进去。PE格式定义的主要地方位于头文件 winnt.h,头文件中几乎能找到关于PE文件的所有定

2021-03-16 14:31:06 842

原创 攻防世界reverse高手进阶 ----- gametime

gfsj ----- gametime昨天做了一道攻防世界的题key和这个gametime,都是动态调试的题。key还稍微简单一些,gametime稍微费点时间,记录一下。昨天晚上可能是没进入做题的状态(疯狂为自己找借口),动态调试的时候稍微有点难受,就没有做出来,今天早上改完计网的题做了二十分钟就出来了。还是要专注一点呐!废话不多说,看题。先运行一下题目给的程序大致就是遇到s就按空格,遇到x按x,遇到m按m,前面都还按的挺顺畅的,后面就快了,反应不过来,按错了就直接退出。甚至玩通关了之后出现了

2020-10-19 16:56:43 925

原创 恶意代码分析实战lab1-1/lab1-2/lab1-3/lab1-4

恶意代码分析实战lab1-1lab1-2lab1-3之前看过一个学长的简历,做过dll注入和恶意代码分析,于是自己也想尝试一下,dll注入只做过两个比较简单的例子,来进军一下恶意代码分析。lab1-1文件检测网站:virustotal.com.不知道这个网站是做什么的,测试一下上传一个没有问题的文件:检测结果全是绿的上传一个有问题的文件:下面将实验给的文件拖进去分析:lab1-1.dlllab1-1.exe编译时间:之前学了PE文件结构,但是学归学,没有应用过还是啥都记不住,

2020-10-12 09:20:23 1244

原创 攻防世界逆向练习

elrond32两个重要函数:sub_8048414() \ sub_8048538()sub_8048414:看main函数里,sub_8048414()的返回值需要是非零的数if才能成立,所以这个函数的第二个参数需要是2、8或者是大于9的数a = 0while((7*(a+1)%11) >=0 and (7*(a+1)%11) <=9): # 暂时先把2和8放进去。看print出来的数 print (a) a = 7*(a+1)%11print

2020-09-23 16:12:08 338

原创 攻防世界逆向练习--babyxor

babyxordword_435DC0=[102, 109, 99, 100, 127, 55, 53, 48, 48, 107, 58, 60, 59, 32 ]dword_435DF8=[55, 111, 56, 98, 54, 124, 55, 51, 52, 118, 51, 98, 100, 122]dword_435E30=[26,0,0,81,5,17,84,86,85,89,29,9,93,18,0,0]sub_40108C()化成代码:a1 = unk_435DC0ch

2020-09-23 14:58:22 466

原创 强网杯 2020 侧防

时隔一个多月重看侧防题main函数点了几个函数之后发现sub_12F0()函数是加密函数分析一下代码:v4 = 0do{ a1[v4] = (a1[v4] ^ QWBlogs[v4%7]) +65 // 对a1做处理 v4++;}while(v4<len(a1)-1);for(i = 0;i<v2;i +=4) //将a1分组,四个为1组(这里假设每一组都是a1{ v7 = a1[3]; // 将a1[3]赋值给v7

2020-09-15 21:36:15 299

原创 网安国赛-2020-ciscn-reverse-z3

z3题目名即为z3,可猜测是用z3解方程z3库的安装:借鉴简书中的一篇文章: z3安装与学习.此文章中没有准确提到linux下z3库安装的方法,自己尝试了一下做了一个小结:1.前提:Python的版本是2.x2.不能用pip install z33.采用源码安装下载链接:源码下载4.下载对应版本时查看自己的虚拟机是64位还是32位:sudo uname –m若是64位则显示x86_64。确认好之后下载对应的源码5.之后按照上面那篇文章的步骤安装就ok了那就开始做题吧。文件拖入i

2020-08-22 16:23:28 572

原创 Java--用数据包形式改写多用户聊天程序

题目要求:用数据包形式改写多用户聊天程序这里展示两个人聊天的Java代码,由此可以写出多人聊天的程序(没有仔细读题,只写了两人聊天的 )// test1.java// 用户:小oimport java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class test1 extends JFrame{ private JTextField en

2020-06-01 16:48:02 499

原创 网鼎杯2020-reverse---signal

reverse signal第一次接触虚拟机逆向,还不太清楚虚拟机逆向的原理等等,如有错误,请指正。拖进ida查看伪代码:main函数:qmemcpy 给v4赋值,赋值内容是unk_403040函数,再看这个函数的内容:是这一大段数据再看vm_operad函数:这个函数里用到了403040函数,为了方便,将这个函数称作a1函数。vm_operad函数里都是witch-case函数因为v10,v9.。。太难辨认了,把它们分别改成了i、j、k、m、n看case语句:case1:赋值,

2020-05-17 20:05:53 1127

原创 C++ 运算符重载-友元函数(复数类)

【问题描述】请定义一个复数类,将+/-运算符重载为友元函数,实现复数与复数的加减及复数与浮点数的加减。请根据给定的main函数,设计Complex类。【样例输出】a+b=(4)+(3i)a-b=(2)+(5i)a+100=(103)+(4i)a-2.5=(0.5)+(4i)100+a=(103)+(4i)2.5-a=(-0.5)+(-4i)#include <iostream>using namespace std;class Complex{ private:

2020-05-10 12:00:27 2202

原创 2020-虎符网络安全赛道 reverse game

新手一枚,如有错误,请各位指正题目给了我们一个.txt文档,打开看一下是一段类Python代码。一段一段的分析:arr0[8[=[249,91,149,113,16,91,53,41] arr1[20]=[43,1,6,69,20,62,6,44,24,113,6,35,0,3,6,44,20,22,127,60] arr2[12]=[90,100,87,10...

2020-04-29 21:14:48 841

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除