自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 图片隐写解密

图片隐写解密问题描述解密步骤问题描述图片链接:http://xxxxxxx/HOSHINASUZU/logo_is_cat.jpg任务:寻找图片中的隐藏信息解密步骤1.首先拿notepad打开该图片,可以看到提示使用010Editor将显示大小调整为966*12002.下载安装010Editor,打开该图片。第一次使用这个编辑器,在哪里改大小呢?怎么改呢?3.右键属性,查看原始像素(966 1015)转换为16进制 03C6 03F74.在010010Editor查找这两个数

2021-10-15 11:29:14 5211 2

原创 2020年小结-附爬虫小记

2020年小结-附爬虫小记有个朋友让帮忙写个爬虫,才发现有点生疏了。花了点时间写了一下,想要记录在CSDN,才发现已经有一年没有写过东西了,感慨良多。2020磕磕绊绊忙于毕业,找工作,也成为了北漂一族,总体还算顺遂。废话结束,步入正题。get方式:不同页的数据可以在url中显示,通过requests访问不同的url得到数据。但如果访问次数多的话,不同的网站可能会有限制,就需要伪造user-agent或使用sleep。浏览器插件模拟正常访问:使用selenium的这种方法主要是为了解决requests

2020-12-30 09:42:02 202

原创 DDCTF 2019 逆向题writeup(二)

文章目录总结脱壳分析定位关键call逆向分析编写脚本总结其实输入只能是0-9和A-F有很大的提示作用,开始没想明白and和add没看清,走了很多弯路python模块itertools的排列组合函数结合IDA分析会简便,但是太烂不想脱壳dump脱壳分析首先是一个ASPack 2.12 -> Alexey Solodovnikov。利用ESP定律脱壳。定位关键call这个c...

2019-04-13 12:00:58 3437 8

原创 win7 64位 Anaconda3+Jupyter Notebook+python3+tensorflow安装问题

在tensorflow时遇到一些问题,明明安装好可以用了,但一安装Jupyter Notebook就回到解放前,找不到模块。下面是对这个问题的一个记录1安装Anaconda3默认安装后的python是3.7的版本,而tensorflow是需要在python3.5安装2.再安装一个python3.5的环境3.安装tensorflow选择Open terminal 输入pip ins...

2019-02-28 14:20:18 714

原创 Pandas基础

文章目录数据索引通过索引值或索引标签获取数据自动化对齐利用pandas查询数据利用pandas的DataFrames进行统计分析实现SQL操作增:添加新行或增加新列删:删除表、观测行或变量列改:修改原始记录的值聚合:groupby()函数实现数据的聚合操作排序多表连接缺失值的处理Excel的数据透视表功能多层索引的使用在pandas中有两类非常重要的数据结构,即序列Series和数据框DataF...

2018-12-26 17:34:08 1455 1

原创 NumPy

NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。部分功能如下:ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。用于对整组数据进行快速运算的标准数学函数(无需编写循环)用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能...

2018-12-26 15:40:16 226

原创 octave的安装与使用

下载链接 https://ftp.gnu.org/gnu/octave/windows/解压安装双击octave.vbs进行安装安装完成配置pkg rebuild上述命令的作用是将octave-forge packages在本地重新编译一下,如果不执行此命令,通过解压zip包安装的octave查看包列表时,返回结果将为空pkg list得到的查询结果:...

2018-11-07 08:22:55 48569 21

原创 Windows安全机制---地址随机化:ASLR机制

文章目录Windows安全机制地址随机化:ASLR机制原理映像随机化堆栈随机化PEB与TEB随机化绕过攻击未启用ASLR的模块利用部分覆盖进行定位内存地址利用Heap spray进行内存地址定位利用Java applet heap spray定位内存地址为.net控件禁用ASLRWindows安全机制微软关于内存保护机制GS编译技术SEH的安全校验机制Heap Cookie,Safe ...

2018-10-13 18:49:24 9555 2

原创 Windows安全机制---数据执行保护:DEP机制

文章目录Windows安全机制数据执行保护:DEP机制原理绕过攻击未启用的DEP程序利用Re2Libc挑战DEP利用可执行内存利用.NET攻击利用Java appletWindows安全机制微软关于内存保护机制GS编译技术SEH的安全校验机制Heap Cookie,Safe Unlinking等一系列堆安全机制DEP数据执行保护ASLR加载地址随机SEHOP SEH的覆盖保护...

2018-10-11 10:28:15 7289

原创 Windows安全机制---异常处理保护:Safe机制

文章目录Windows安全机制异常处理保护:SafeSEH原理绕过攻击返回地址利用虚函数绕过从堆中绕过利用未启用SafeSEH模块绕过SafeSEH利用加载模块之外的地址绕过利用ActiveX控件绕过SafeSEHWindows安全机制微软关于内存保护机制GS编译技术SEH的安全校验机制Heap Cookie,Safe Unlinking等一系列堆安全机制DEP数据执行保护ASLR...

2018-10-09 20:22:03 1513

原创 Windows安全机制---栈保护:GS机制

文章目录Windows安全机制Windows安全机制GS编译技术SEH的安全校验机制Heap Cookie,Safe Unlinking等一系列堆安全机制DEP数据执行保护ASLR加载地址随机SEHOP SEH的覆盖保护...

2018-10-08 20:20:00 4943 2

原创 异常处理利用

文章目录SEH概述实例SEH概述SEH是异常处理结构体,是异常处理机制的重要数据结构。每个SEH包含两个DWORD指针:SEH链表指针和异常处理函句柄。SEH结构体存储在系统栈中,一般会同时存在多个SEH,他们串成单向列表。当异常发生时,首先从TEB的0字节偏移处取出最近的SEH。实例使用环境 windows 2000在test的函数栈里安装一个SEH结构,如果发生异常,则会调...

2018-09-29 16:29:02 363

原创 MetaSploit实例使用

实验环境攻击主机系统:Kail2目标主机系统:Windows 2000 SP4补丁版本:未打过补丁的KB921883网络环境:可以相互ping通实验步骤1.安装Nessus(漏洞扫描)2.使用metasploit(漏洞利用)1. show exploits2. use windows/smb/ms06_040_netapi3. info---显示当前漏洞的详细信息4....

2018-09-26 15:01:42 1218

原创 堆溢出利用

堆的性质是在程序运行动态分配内存(需要参考用户的反馈)使用malloc函数或者new函数申请堆的读,写,释放都是通过堆指针来完成使用完成后,将堆指针交给释放函数回收这片内存增长方向由低地址到高地址堆的数据结构与管理...

2018-09-26 10:10:57 3019 5

原创 c++filt识别C++中的函数重载

在C++中, 是允许函数重载的, 也就引出了编译器的name mangling机制, c++filt命令便与此有关。由于每一个重载的函数都使用与原函数相同的名称,因此,支持函数重载的语言必须拥有一种机制,以区分同一个函数的许多重载版本。下面是C++代码#include <iostream>void Swap(int *a, int *b){ int temp = *a; *a...

2018-09-22 10:45:18 451

原创 python向excel写入数据

python向excel写入数据代码代码# -*- coding: cp936 -*-import reimport xlwtbook = xlwt.Workbook()sheet = book.add_sheet('sheetname',cell_overwrite_ok = True)sheet.write(1,0,"training loss")sheet.write(2,0...

2018-09-20 18:19:08 6766

原创 恶意代码分析-第十章-使用WinDbg调试内核

目录笔记实验Lab10-1Lab10-2Lab10-3笔记驱动:Windows设备驱动的简称,是第三方开发商在Windows内核模式下运行代码,常在内存中,负责响应用户态程序的请求。           设备对象不一定是真实的物理设备           应用程序不能直接访问驱动程序            当一个驱动程序首次加载到内核空间中时,会调用Dr...

2018-09-18 11:47:58 1065

原创 恶意代码分析-第二十一章-64位恶意代码

目录笔记实验Lab21-1Lab21-2Lab21-3笔记64位恶意代码的必要性:1.在64位操作系统中内核代码是64位的,以64位系统为目标的rootkit(Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的)必须编译成64位机器码                                        2.插件和注入代码必须是64位的,...

2018-09-17 09:43:35 373

原创 恶意代码分析-第二十章-C++代码分析

目录笔记实验Lab20-1Lab20-2Lab20-3笔记C语言和C++的不同:面向对象的编程语言,将数据与操作数据的函数都封装到对象中                                   用类来定义数据类型,保存了函数信息和数据,是一个对象的模板this指针:原代码                调用HelloWord函数的对象不同,访...

2018-09-14 18:51:26 532

原创 恶意代码分析-第十九章-shellcode分析

笔记shellcode:一个可执行代码的有效载荷,包含可执行代码加载shellcode分析:在IDApro中分析时,选择处理器类型Interl 80x86 processers,并选择32-bit disassembly使用位置无关代码:第一条和第二条指令都是通过将EIP寄存器指定的当前位置加上一个保存在指令中的相对偏移值来计算。所以是位置无关代码第三条指令是一个访问全局数...

2018-09-13 16:04:26 1881

原创 恶意代码分析-第十八章-加壳与脱壳

目录笔记:实验:Lab18-1Lab18-2Lab18-3笔记:壳的功能:缩减程序的大小,阻碍对加壳程序的探测和分析解析函数导入表:1.仅导入LoadLibrary和GetProcessAddress两个函数。先脱出原始文件,再读取原始可执行文件的导入函数信息。                              2.保持原始导入函数表的完整,让Windo...

2018-09-10 18:02:46 2371

原创 恶意代码分析-第十七章-反虚拟机技术

目录笔记实验Lab17-1Lab17-2Lab17-3笔记VMware痕迹:VMware虚拟环境在系统中遗留了很多的痕迹,特别是VMware Tools安装之后。可以通过操作系统的文件系统,注册表和进程列表中的标记痕迹探测VMware的存在。                       识别进程:VMwareService.exe  VMwareTray.exe V...

2018-09-10 10:44:28 1170 1

原创 恶意代码分析-第十六章-反调试技术

目录笔记实验Lab16-1Lab16-2Lab16-3笔记反调试技术:识别是否被调试,或者让调试器失效。探测windows调试器:       Windows API:IsDebuggerPresent-->查询进程块环境块PEB中的IsDebugged标志                               CheckRemoteDebugg...

2018-09-09 12:00:40 653

原创 恶意代码分析-第十五章-对抗反汇编

目录笔记实验Lab15-1Lab15-2Lab15-3笔记反汇编技术:分为线性反汇编器和面向代码流的反汇编器,对于同一段字节集合。有时候反汇编出来的代码并不相同。                     对抗反汇编技术是基于反汇编算法的天生漏洞而产生的线性反汇编:用已经反汇编的指令大小来决定下一个要反汇编的字节,而不考虑代码流的控制指令。          ...

2018-09-07 17:07:17 1083

原创 恶意代码分析-第十四章-恶意代码的网络特征

目录笔记实验Lab14-1Lab14-2Lab14-3笔记基于IP地址和域名信息:DomainTools(http://www.domaintools.com)-->whois历史记录的查询,能够进行反向IP查询。RobTex(http://www.robtex.com)-->单个IP地址指向的多个域名信息BFK DNS logger(http:...

2018-09-05 11:31:54 3004

原创 恶意代码分析-第十三章-数据加密

目录笔记实验Lab13-1Lab13-2Lab13-3笔记加密算法的目的:加密网络通信,加密配置信息,加密字符串加密算法:凯撒密码                  XOR                  ADD,SUB                  ROL,ROR:旋转字节左侧和右侧                  ROT:凯撒密码  ...

2018-09-04 11:40:50 781 1

原创 恶意代码分析-第十二章-隐蔽的恶意代码启动

目录笔记实验Lab12-1Lab12-2Lab12-3Lab12-4笔记启动器:安装一些东西达到恶意行为对用户隐藏,设置自身或恶意代码启动。例如通过资源段隐藏恶意代码。相关API函数:FindResource,LoadResource以及SizeofResource。进程注入:将恶意代码注入到另一个正在运行的进程中,也用于绕过主机的防火墙和那些针对进程的安全...

2018-09-01 17:47:20 1349 1

原创 恶意代码分析-第十一章-恶意代码行为

目录 笔记实验Lab11-1Lab11-2Lab11-3笔记下载器:从网上下载代码,在本地运行,通常会用到URLDownLoadtoFileA和WinExec进行下载和运行恶意代码启动器:一类可执行文件,用来安装运行的后门:让攻击者通过远程访问来控制计算机的恶意代码,常用的方法是借助80端口的HTTP协议进行通信。反向shell:从感染机器上发起一个连接...

2018-08-10 20:58:38 3063

原创 恶意代码分析-第九章-OllyDbg

目录 笔记实验Lab 9-1Lab 9-2Lab 9-3笔记加载文件:执行代码:Execute till Return -> 在当前函数返回时暂停执行 -> CTRL-F9Execute til User Code ->从库函数中出来回到user code -> ALT-F9单步跳过陷阱:              0...

2018-08-06 14:47:41 1085

原创 恶意代码分析-第四章-X86反汇编

简单指令网络中用大端字节序X86中用小端字节序sub 指令会修改:ZF:结果为0CF:目标操作数比减去的值小 CF置位乘法指令mul:mul value - - -eax乘value 结果以64位形式分别存储在EDX(高)和EAX(低)除法指令div :div value - - - EDX和EAX和起来除以value 结果商存储在EAX,余数存储在EDX目的操作数左右...

2018-08-06 14:42:57 205

原创 恶意代码分析-第五章-IDApro

目录 笔记实验笔记设置           Options - General,选择Line prefixes并设置Number of Opcode Bytes 为6.可以看到16进制代码           Options - General,选择Auto comments,IDA帮助注释窗口           函数窗口:左拖拽,可以看到长度,以函数长度排序...

2018-08-03 21:28:59 953

原创 idapyhton

基本地址idc.ScreenEA()- 返回当前坐标地址here()- 返回当前坐标地址,同上MinEA()- 返回程序首地址MaxEA()- 返回程序末尾地址 idc.SegName(ea)- 返回所在段,如:.textidc.GetDisasm(ea)- 返回汇编,如:mov rdx, rdiidc.GetMnem(ea)- 返回助记符,如:movidc.Get...

2018-08-03 17:58:44 787

原创 恶意代码分析-第七章-分析恶意Windows程序

目录笔记:实验:Lab 7-1Lab 7-2Lab 7-3笔记:Windows API:管理恶意代码与微软程序库之间的交互方式常用API类型: 类型 前缀 描述 WORD w 一个16位的无符号数值 DWORD ...

2018-08-01 16:17:33 3619 2

原创 恶意代码分析-第八章-动态调试

内核模式/用户模式用户模式:调试的程序会与其他程序隔离内核模式:会需要两个系统,一个运行被调试的代码,另一个运行调试器,还有须配置操作系统使得开启内核调试功能,并将两个系统连通。windbag--支持内核调试和用户调试Ollydbg--支持用户模式单步跳过--某些函数调用永远不会返回,如果跳过此类函数,调试器将不能再次获得控制权。异常调试器通常有两次机会来处理同一个异常...

2018-07-31 16:45:05 941

原创 恶意代码分析-第五章-IDApro

设置Options - General,选择Line prefixes并设置Number of Opcode Bytes 为6.可以看到16进制代码 Options - General,选择Auto comments,IDA帮助注释窗口函数窗口:左拖拽,可以看到长度,以函数长度排序,过滤出规模大的函数每个函数也关联了一些标志位(F,L,S)。L--库函数名字窗口:函数名,命...

2018-07-30 15:55:59 689

原创 格式化字符串溢出

漏洞原理:       printf是c语言中少有的支持可变参数的库函数。对于可变参数的函数。函数的调用者可以自由的指定函数参数的数量和类型,被调用者无法知道在函数调用之前到底有多少参数被压入栈帧当中。       格式化字符串漏洞的产生根源主要源于对用户输入未进行过滤,这些输入数据都作为数据传递给某些执行格式化操作的函数,如printf,sprintf,vprintf,vprintf。恶...

2018-07-29 12:05:12 9781 11

原创 恶意代码分析-第三章-动态基础分析

运行恶意代码       使用沙箱:用作初始诊断:自动执行与分析 缺点             只能简单执行,无法输入控制指令。             不能记录所有事件,只报告基本功能。             沙箱环境与真实计算机环境的差异导致一些功能无法触发或表现有所不同。       运行代码(.dll):              rundll32.exe程序...

2018-07-27 20:54:05 1161

原创 整数溢出

     转自:   https://blog.csdn.net/ioio_jy/article/details/50576353        整数分为无符号整数以及有符号整数两种。其中有符号整数会在最高位用0表示正数,用1表示负数,而无符号整数则没有这种限制。另外,我们常见的整数类型有8位(单字节字符、布尔类型)、16位(短整型)、32位(长整型)等。关于整数溢出,其实它与其它类型的溢出一...

2018-07-27 20:35:27 987

原创 栈溢出

漏洞原理:        栈溢出指的是程序向栈中某个变量中写入的字节数超过了这个变量本身所申请的字节数,因而导致栈中与其相邻的变量的值被改变。若输入足够多的、精心挑选的字符,将改写函数的返回地址(也可以是jmp、call指令的跳转地址),由此获取对CPU的控制,从而执行任何任意操作。实验环境:Ubuntu16.0、gdb漏洞程序:#include <stdio.h>...

2018-07-27 16:36:42 670

原创 恶意代码分析-第一章-静态基础分析

之前分析反病毒引擎扫描:https://www.virustotal.com/#/home/upload哈希值识别:查找字符串:strings检查壳:动态链接函数:常见DLLKernel32.dll:这是一个很常见的DLL,它包含核心系统功能,如访问和操作内存、文件和硬件等等。OpenProcess,GetcurrentProcess和GetProcessHeap:...

2018-07-27 15:53:05 963

恶意代码分析实战13章-IDApro插件entropy_plugin.plw

恶意代码分析实战13章-IDApro插件findcrypt.plw..

2018-09-04

恶意代码分析实战13章-IDApro插件findcrypt.plw

恶意代码分析实战13章的IDApro插件用于识别加密算法。。

2018-09-04

空空如也

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

TA关注的人

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