自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 Suricata配置文件说明2

本文接上一篇配置文件说明1,是了解suricata配置文件的第二篇。threadingSuricata是一个多线程的程序,当它在拥有多核CPU的计算机上运行时会产生多线程以同时处理多个网络流量。在前一篇文章中介绍过suricata其实是有thread,thread-module和queue组成,而thread-module按照功能分为数据包获取、解码数据包和应用层流信息、检测、输出四种模块。数据包获

2015-04-23 14:55:27 5948 5

原创 Suricata配置文件说明1

本系列文章是Suricata官方文档的翻译加上自己对其的理解,部分图片也是来自那篇文章,当然由于初学,很多方面的理解不够透彻,随着深入后面会对本文进行一定的修正和完善。Suricata使用Yaml作为其配置文件的格式,关于Yaml可以参考YAML-维基百科。其中Suricata默认的配置文件是suricata.yaml,以硬编码的形式写在源代码中,当然也可以在执行的时候添加-c+指定位置的yaml文

2015-04-21 18:07:29 6105 2

原创 Suricata规则编写——HTTP关键字

1.简介之前的常用关键字中介绍了content以及许多修饰它的关键字,除此之外,http协议中还有一些修饰content的关键字,也是由于http协议使用量较大,关键字较多,因此单独拿出来学习。参考:HTTP协议-维基百科。2.Request和Responsehttp协议包括了http request和http response数据包。通常,由HTTP客户端发起一个request请求,创建一个到服务

2015-04-03 14:53:06 8355 2

原创 Suricata规则编写——数据包头部关键字

1.简介本文介绍suricata支持的IP、TCP、ICMP三种协议的数据包头关键字,http协议由于比较常用,关键字也比较多所以后面单独介绍,而其他应用层协议暂无特定的关键字。2.IP协议关键字首先需要对IP协议有一定的了解,网际协议-维基百科,RFC 791,IPv4-维基百科。IPv4协议的格式如下: 0 1 2

2015-04-01 17:26:19 4216

原创 Suricata规则编写——常用关键字

1.简介现在的NIDS领域snort一枝独秀,而suricata是完全兼容snort规则的多线程IDS,无论在效率还是性能上都超过原有的snort,这个系列主要针对suricata的规则中的一些关键字进行了解和学习,参考链接为:https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Rules2.基本关键字所

2015-03-31 18:08:35 12653 2

原创 Glibc ghost(CVE-2015-0235)漏洞简要分析及检测

1.漏洞简介2.POC验证测试漏洞的POC来自http://www.openwall.com/lists/oss-security/2015/01/27/9的第4节,主要代码如下,原理是通过调用gethostbyname_r函数,关键参数为temp和name。拿64位系统举例,如果经过gethostbyname_r的调用刚好能够覆盖temp.buffer的1024个字节,那么temp.canary就

2015-03-25 15:16:12 4021

原创 Shellshock(破壳)系列漏洞简要分析及检测

1.漏洞简介2.POC验证2.1 CVE 2014-6271最开始的shell测试脚本如下,主要的代码是第五行,它先使用env命令将() { :;}; echo vulnerable赋值给环境变量x,随后启动一个新的bash进程并执行命令echo test,并将错误信息重定向到null,再查找有无’vulnerable’这个字符串输出,如果输出成功则表示存在漏洞:#!/bin/bashEXITCO

2015-03-13 17:33:53 4435

原创 OpenSSL Heartbleed漏洞(CVE-2014-0160)简要分析和检测

1.漏洞简介CVE官网上有这个漏洞的简要介绍、影响范围以及相关文章的索引:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160。大致的意思就是说openssl在接收到client发送的Heartbeat Packet(心跳包)的处理过程出现问题,导致了处理这个数据包指针之后的最大16KB内存信息泄露。如果是处理某些敏感数据的进程,那

2015-03-11 10:30:41 6620

原创 Samba远程崩溃或代码执行漏洞(CVE-2015-0240)简要分析

Samba远程崩溃或代码执行漏洞(CVE-2015-0240)1.搭建samba环境注意:在Linux系统上使用源码编译来安装samba必须要将系统自带的全部关于samba的软件均删除,可用如下命令查看已安装的samba软件:[bb@localhost bin]$ rpm -qa | grep sambasamba-common-3.6.23-14.el6_6.x86_64samba-winbi

2015-03-07 00:17:03 4082

原创 PHP词法解析源码分析之引号及其内容

在词法解析的代码中,引号里面内容的解析就占了所有代码的一半以上,可见其由于lex_scan开头的一段整个函数都用得到,所以这里就再贴一下:int lex_scan(zval *zendlval TSRMLS_DC){//设置当前token的首位置为当前位置restart: SCNG(yy_text) = YYCURSOR;yymore_restart://这段注释定义了各

2014-12-05 18:30:30 1284

原创 PHP词法解析源码分析之PHP标签、关键字、类、数字

之前没搞过web端的程序,最近要研究webshell,发现php的语法太怪异了,干脆直接看看PHP内核词法分析的代码。php的词法分析从zend_language_scanner.l文件中的lex_scan开始,开头代码如下:int lex_scan(zval *zendlval TSRMLS_DC){//设置当前token的首位置为当前位置restart: SCNG(yy_text) = YYCURSOR;yymore_restart://这段注释定义了各个类型的正则表达式匹配,在

2014-12-04 18:25:57 2721 1

原创 学习ART之生成Runtime OAT文件

从前一篇学习笔记——ART无缝对接Dalvik虚拟机中可以了解到Dalvik和ART这两种虚拟机机制的可执行文件存在着区别,ART对应的是OAT文件格式,而Dalvik则是dexy格式的文件,而且还知道将apk文件进行优化并转换为指定可执行文件的过程都是发生在应用程序安装的过程中,所不同的只是调用了不同的模块来进行转化而已。这次先来分析一下art虚拟机启动过程中生成oat文件的过程。

2014-11-30 14:52:28 3420

原创 学习ART运行时无缝对接Dalvik虚拟机

本文部分内容包括图片等参考罗升阳的博客,出处链接:http://blog.csdn.net/luoshengyang/article/details/18006645首先从老罗博客中找到了这张图能够非常清晰显示两者的关系。可以看到dalvik虚拟机和art都是通过调用so库文件的导出函数实现的,而这两个机制的so库导出函数相同,就导致了在接口处可以无缝地替换dalvik:

2014-11-08 15:13:10 1960

原创 学习Android系统(kitkat)进程Zygote启动过程

Andoird研究 Android源码Zygote启动 学习Android系统(kitkat)进程Zygote启动过程本文部分内容参考罗升阳的博客(源代码为kitkat4.4版本,会有一些不同,特别是后面第8步开始有较大的不同),在此表示感谢,出处链接:http://blog.csdn.net/luoshengyang/article/details/6768304

2014-11-02 21:22:43 1418

原创 dx.jar部分类的用法——以检测https劫持漏洞为例

在ADT的build-tools的目录下,有一个叫做dx.jar的包,这个包可以解析dex文件(目前用到的就是这么多),但是在网上一搜都没看到什么相关接口的资料,只能自己慢慢看(老大给了我很多帮助),算是稍微会了一些相应的接口调用,总结总结,也给需要的朋友一些帮助。

2014-10-19 15:12:31 2881

原创 windbg寄存器指令——rM

1.windbg中直接输入r是转储常用的寄存器的值:kd> reax=00000001 ebx=ffdff980 ecx=8054bd4c edx=000002f8 esi=00000000 edi=1aa78a2ceip=80528bdc esp=8054abd0 ebp=8054abe0 iopl=0         nv up ei pl nz na po nccs=00

2014-09-27 23:42:31 5682

原创 《黑客免杀攻防学习笔记》——小结

《黑客免杀攻防》看得差不多了,关于诸如花指令等其他免杀技术以及Rootkit的内容没有看。Rootkit另外买了一本书,想着两部分结合在一起看效果可能会好一些。这里就针对自己看过的一些内容做一下总结。         总的来说这本书需要C++、汇编、数据结构、内核等多方面的知识才能理解透彻,而内核方面自己没有接触过,也就暂时一放。书的前面几张分别介绍了包括防病毒软件、免杀基础知识和技术等,没有

2013-12-24 16:23:52 1429 1

原创 《黑客免杀攻防学习笔记》——C++设计一个简单的壳2

本文中的代码均来自《黑客免杀攻防》,如要转载,需写明来源,请勿用于非法用途,作者对此文章中的代码造成的任何后果不负法律责任。本文接上一篇简单的壳1.2.加壳部分         写这个部分的时候我自己对于这部分的代码也没有做到很熟悉,因为这部分相对于前一部分来说复杂了许多,后面就会看见。所以我也是通过再次巩固来进一步理解加壳的基本步骤。废话不多说,首先还是从声明部分说起。对了在这之前,最好

2013-12-23 13:16:38 2815 3

原创 《黑客免杀攻防学习笔记》——C++设计一个简单的壳1

本文中的代码均来自《黑客免杀攻防》,如要转载,需写明来源,请勿用于非法用途,作者对此文章中的代码造成的任何后果不负法律责任。看了一遍书本的第11章,感觉内容确实比较高级,之前虽然自认为是热衷于搞C/C++开发,但是运用windows API的开发真的是太少了。先来看看一个简单的壳的编写。         这个加壳脱壳程序分为三部分,首先是用MFC写的界面程序,这个自然不用多说,主要功能就是

2013-12-23 13:14:50 3543

原创 《黑客免杀攻防学习笔记》——MFC初探

转载请注明出处http://blog.csdn.net/wuyangbotianshi注:下面文章中谈到的作者都是《黑客免杀攻防》的作者,并不是本文的作者。由于之前的C++逆向知识比较简单,所以第9章就只记录两个实验,一个就是这个初探MFC实验,另外一个就是探索C++的菱形继承。1.MFC基础         逆向具有MFC框架的程序并不一定要跟踪MFC框架代码,是否需要这样做取决

2013-12-21 09:39:00 3420

原创 《黑客免杀攻防学习笔记》——C++继承与虚函数机制

转载请注明出处。这是这本书中关于逆向C++的唯一一篇总结,前面的基础知识由于去年已经学习过了钱林松老师的《C++反汇编与逆向分析技术》并做了笔记所以就只是看了一下,发现内容大同小异,不过看过一遍之后也温习了一下C++逆向的基础知识,对于下面的这个菱形继承的实验还是有帮助的。并且之前在学习钱老师的书的时候并没有给继承以及虚函数机制写过总结,这篇就当作是C++逆向系列的补充吧。        

2013-12-20 11:09:59 1165

原创 《黑客免杀攻防学习笔记》——自己认为书上的错误

这只是个人见解,并不代表就有错误。转载请说明出处。1.P138表7-13 展开数据标识位书上差不多是这样的: UNW_FLAG_EHANDLER0x1The function has an exception handler that should be called.UNW_FLAG_UHANDLER0x

2013-12-18 17:06:06 2222

原创 C++反汇编学习笔记7——数组和指针以及他们的寻址

两年前写的,欢迎大家吐槽! 转载请注明出处。1.      数组在函数内先通过一个简单的例子来看一下数组和普通变量在初始化时的不同之处:这是数组初始化:    42:   int nArry[5] = {1, 2, 3, 4, 5};0042B758  mov        dword ptr [ebp-1Ch],1  0042B75F mov         dw

2013-12-17 18:53:54 5785

原创 C++反汇编学习笔记6——变量在内存中的位置和访问方式

变量在内存中的位置和访问方式1.   全局变量和局部变量的区别具有初始值的全局变量在源代码链接时就被写入所创建的PE文件,当该文件被执行时操作系统分析各个节中的数据填入对应的内存地址中,这时全局变量就已经存在了,等PE文件的分析和加载工作完成之后才执行入口点的代码。所以全局变量不受作用域的影响,程序的任何位置都可以访问。下面就来具体讲述不同点。全局变量和常量类似都是被写入文件中,因此生

2013-12-17 18:48:13 4838

原创 C++反汇编学习笔记5——结构体和类2

两年前写的,欢迎大家吐槽!转载请注明出处。3.静态数据成员CStatic类具有静态的数据成员,现在来看一下它与上面提到过的类有什么不同:class CStatic {public:    void ShowNumber()    {        printf("m_nInt= %d , m_snInt = %d", m_nInt, m_snInt);

2013-12-17 18:41:51 1313

原创 C++反汇编学习笔记4——结构体和类1

在C++中类和结构体都具有构造函数、析构函数和成员函数,两者的唯一区别就在于结构体的默认访问控制为public,而类则是private。在C++中对于访问控制都是在编译期进行检查,所以在执行时程序不会对访问控制做任何检查和限制,因此在反汇编中两者没有区别,两者原理相同只是类型名称不同。1.对象的内存布局了解C++就必然要了解类,所以类和对象之间的关系这里就不再多说,就举几个简单的小例子:

2013-12-17 18:38:04 2037

原创 C++反汇编学习笔记3——函数的调用方式

函数的调用方式VC++下有三种函数调用方式,分别是:__cdecl 、 __stdcall 、__fastcal。第一种是C/C++默认的函数调用方式,如果不特殊指明用那种方式则默认使用__cdecl,而且只有第一种可以在不定参数的函数下使用,后面的方式指明所使用的函数必须是确定参数的,包括参数的个数和类型。下面就来详细介绍这三种调用方式之间的区别。1.      __cdecl方式和__

2013-12-17 18:27:31 1673

原创 C++反汇编学习笔记2——循环语句

转载请注明出处。1.      循环语句1.1  do循环首先来看一段goto语句(什么?不知道goto语句,C语言老师太水了吧,这都不教。其实就和无条件跳转指令JMP差不多,但是最好不要用,因为会破坏结构化)的例子:int GoToDo(intnCount){    int nSum =0;    int nIndex =0;GOTO_DO:    nSu

2013-12-17 18:23:42 1179

原创 C++反汇编学习笔记1——选择判断语句

逆向第一篇,两年前写的,欢迎大家吐槽!1.流程控制语句的识别If…else…语句比较简单,这里就不做详细说明。这里对switch语句和循环语句进行判断。1.1 switch语句1.1.1 case语句块不大于3条(模拟if…else…结构,也有可能不止3条,表示比较少)此时,switch语句块反汇编的代码与if…else…的相差无几,只是switch语句将所有条件跳转都放到了一

2013-12-17 18:18:12 1967

原创 《黑客免杀攻防学习笔记》——PE文件结构3

文章中的图片大部分为自己做截屏,少量摘自网络,若有侵权请及时告知,我会尽快删除。转载请注明出处。接上一篇,上一篇了解了一些常用的结构的基本结构,这一篇从异常结构开始学习。7.异常         PE文件中的异常目录用于描述异常处理函数、SEH地址等信息,存储于.pdata 段内,数据目录项的第四项指向结构的RVA。异常处理和处理器平台有关,所以书上是用64位处理器的平台作

2013-12-17 18:04:09 1146

原创 《黑客免杀攻防学习笔记》——PE文件结构2

文章中的图片大部分为自己做截屏,少量摘自网络,若有侵权请及时告知,我会尽快删除。转载请注明出处。接上一篇,上一篇了解了PE头及可选头的基本结构,这一篇从区段表开始学习。3.区段表         PE文件头后面是区段表,用于描述各个区段的属性,文件至少拥有一个区段才能执行。区段表是多个相连的IMAGE_SECTION_HEADER结构组成。3.1IMAGE_SECTION_

2013-12-17 17:58:18 1325

原创 《黑客免杀攻防学习笔记》——PE文件结构1

文章中的图片大部分为自己做截屏,少量摘自网络,若有侵权请及时告知,我会尽快删除。转载请注明出处。1.MS-DOS头         DOS头主要就是为了兼容之前的DOS操作系统,DOS头后面便是DOS Stub,这两部分构成了MS-DOS可执行文件的基本要素,如果PE文件运行在DOS系统中便会执行Stub中的代码,一般上都是“Thisprogram cannot run in DOS

2013-12-17 17:09:16 1673

原创 《黑客免杀攻防学习笔记》——免杀与特征码

以下图片均来自《黑客免杀攻防》若有侵权,请告知,我将最快删除。转载请注明出处。1.特征码免杀技术         这里主要是用到分割法,就是将一份病毒文件分割成多份让反病毒软件扫描,然后再将扫描出有问题的那份文件再次分割,直到分割到长度适合为止。如下图所示:若是获得合适的文件之后,再将这份文件进行相应的处理,比如可以添加一些花指令等代码混淆技术。因为许多杀毒软件进行查杀都是

2013-12-17 17:00:15 1744 1

原创 体验CSDN博客

第一次到CSDN发博客,之前只是自己做笔记,这次把之前做的学习笔记都发出来,虽然许多都是书上的内容,但是对于还是菜鸟的我来说还是需要注重积累。希望能在博客里和大家相互交流,共同进步。开始主要就是免杀和逆向的学习笔记,后面随着自己学习的深入也会增加其他方面的东西。笔记确实是个很不错的东西,自己看一遍基本记不牢,实际操作实验一遍也还是过一段时间就会忘记,但是做下笔记过一段时间之后再来回顾当时的思路

2013-12-17 16:44:52 487

原创 《黑客免杀攻防学习笔记》——反病毒软件与免杀原理

1.反病毒软件原理与反病毒技术介绍1.1反病毒软件工作原理反病毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将他们整合在一起。扫描器用于查杀病毒,大多数反病毒软件基本都由多个扫描器组成,病毒库存储着特征码,存储形式取决于使用的扫描器,虚拟机相当于沙盒。1.2基于文件扫描的反病毒技术可分为“第一代扫描技术”、“第二代扫描技术”和“算法扫描”3种。下面就先简要介绍一下这三种扫描技术

2013-12-17 16:38:41 1374

C+语言高级实用编程技巧.PDF

开始是一些基础知识,后面就是一些具体的编程实例,希望能帮到大家

2011-12-03

空空如也

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

TA关注的人

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