随笔分类 -  安全编程

网络编程,“黑客编程”等内容
摘要:异常是个很宽泛的概念,如果程序没有按预想的执行,都可以说是异常了。遇到一些特殊情况没处理会引发异常,比如读文件的时候文件不存在,网络连接超时。程序本身的错误也可以算作异常,比如把字符串当整数来处理,拼写错误。 不论是系统还是框架,都会对基本异常进行分类,比如IO异常,内存溢出等等。很多时候,针对特有的业务,我们也可以自定异常。 阅读全文
posted @ 2016-08-13 00:00 玄魂 阅读(925) 评论(0) 推荐(0) 编辑
摘要:我们已经学习了如何在你的程序中定义一次函数而重用代码。如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块。模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。 模块可以从其他程序 导入以便利用它的功能。这也是我们使用Python标准库的方法。首先,我们将学习如何使用标准库模块。 阅读全文
posted @ 2016-08-10 16:17 玄魂 阅读(1046) 评论(0) 推荐(1) 编辑
摘要:函数是可复用的代码块。它们允许你给一块代码一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个代码块,这个过程称之为函数调用。 虽然才正式接触函数的概念,但是我们已经调用过很多次函数了,比如print。 下面我们来了解下函数的定义。 阅读全文
posted @ 2016-08-08 15:53 玄魂 阅读(906) 评论(0) 推荐(0) 编辑
摘要:本节要介绍的是Python编程中和流程控制有关的关键字和相关内容。 阅读全文
posted @ 2016-08-07 21:47 玄魂 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 本节要介绍的是Python里面常用的几种数据结构。通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储、查询、排序等操作,本节介绍的Python内置的数据结构可以满足大多数情况下的需求。这一部分的知识点比较多,而且较为零散,需要认真学习。 阅读全文
posted @ 2016-08-04 17:14 玄魂 阅读(2121) 评论(0) 推荐(0) 编辑
摘要:本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言。我带大家膜拜下Python作者的Python之禅,然后再来了解下Python的编程规范。 阅读全文
posted @ 2016-08-02 13:45 玄魂 阅读(1783) 评论(0) 推荐(0) 编辑
摘要:数值类型,说白了就是处理各种各样的数字,Python中的数值类型包括整型、长整型、布尔、双精度浮点、十进制浮点和复数,这些类型在很多方面与传统的C类型有很大的区别。 Python中的数值类型都是不可变类型,意味着创建、修改数字的值,都会产生新的对象,当然这是幕后的操作,编程过程中大可不必理会。 阅读全文
posted @ 2016-08-02 13:44 玄魂 阅读(1898) 评论(0) 推荐(0) 编辑
摘要:于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一种脚本语言。取名时,Guido van Rossum认为它应该“短小,独特,还有一点神秘感”,他是英国著名剧团Monty Python的忠实粉丝,所以就是Python了。 阅读全文
posted @ 2016-07-29 15:54 玄魂 阅读(1756) 评论(0) 推荐(0) 编辑
摘要:前两节里,我们完成了操作系统和工具的安装。事实上可以进入到正式开发阶段了,Kali Linux系统自带了Python运行时及easy_install 和pip等基础组件,包括我们之后的课程里要用到的pypcap等网络包也都一并存在了。 这是Kali带来的好处,但是对初学Python的同学来说,我想有必要把Python运行时和模块安装的基础知识讲解清楚。 阅读全文
posted @ 2016-07-25 12:36 玄魂 阅读(3615) 评论(1) 推荐(1) 编辑
摘要:上一节,历尽艰辛,我们安装、更新和配置了Kali Linux系统,本节在此基础上安装VS Code 和它的Python插件,用来开发和调试Python程序。 阅读全文
posted @ 2016-07-20 15:20 玄魂 阅读(4497) 评论(0) 推荐(0) 编辑
摘要:关于虚拟机安装Kali Linux已经是老生常谈了,我之前的博文(Kali Linux渗透测试实战 1.2 环境安装及初始化)和视频教程(Kali Linux web渗透测试--初级教程1)都详细的介绍过。相对之前的文章和教程,本次采用的系统是最新的Kali Linux 2016.1,在安装上没什么区别,配置上需要注意的是采用新的更新源。即便如此,为照顾没有接触过Kali Linux的同学,本篇文章还是会尽可能详尽的描述每一个步骤和细节。 至于为什么要使用Kali Linux来作为开发环境,简单的讲,Kali Linux为我们提供了Python黑帽编程所需要的所有测试工具,可以更加方便的搭建目标环境。 当然你可以选择你喜欢的系统,windows或者Mac OS,Ubuntu都可以,毕竟使用Kali Linux在更新源方面 阅读全文
posted @ 2016-07-20 15:02 玄魂 阅读(12924) 评论(1) 推荐(0) 编辑
摘要:本系列教程,采用的大纲母本为《Understanding Network Hacks Attack and Defense with Python》一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题,教程采用重实践轻理论的风格来呈现。由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人偏好。教程同时提供图文和视频教程两种方式,由于教程在创作过程中,在整套教程完结前,感兴趣的同学请关注我的微信订阅号(xuanhun521,下方二维码),我会第一时间在订阅号推送图文教程和视频教程。问题讨论,请加qq群:Hacking (1群):303242737 Hacking (2群):147098303。 阅读全文
posted @ 2016-07-20 14:55 玄魂 阅读(17353) 评论(3) 推荐(5) 编辑
摘要:本篇文章是对我之前在CSDN做的一次公开课的总结。没有深入讲解网络数据监听和分析的技术内容,介绍了Python中相关的组件,这样读者可以快速入门。 阅读全文
posted @ 2016-06-28 22:14 玄魂 阅读(29574) 评论(2) 推荐(7) 编辑
摘要:这是基本常识(我也经常不划分,就是为了偷懒),不同的账号控制不同的权限,甚至账号可以细化到读/写,表,存储过程级别。既然用户有角色划分,那么我们的代码必须也要有访问权限划分。不是在代码内部要访问数据的时候加个if-else,应该在调用还没开始就挡在外面。 第二,一个必须联网才能使用的程序,为什么不把数据访问,核心业务逻辑都放在远端的服务器上,公开接口给客户端调用呢?只有一个原因,程序员太懒。我就是搞winform的,你要老子搞什么服务端,不会!连基本的分层和服务划分都不注意,在基础架构这就留下了安全隐患,同时客户端的安全漏洞直接导致服务器被攻陷。 第三,.NET/Java 这类应用没有办法绝对防止反编译,只是时间问题。 阅读全文
posted @ 2016-05-16 12:47 玄魂 阅读(4301) 评论(24) 推荐(31) 编辑
摘要:《Python灰帽子》是由知名安全机构Immunity Inc的资深黑帽Justin Seitz主笔撰写的一本关于编程语言Python如何被广泛应用于黑客与逆向工程领域的书籍。老牌黑客,同时也是Immunity Inc的创始人兼首席技术执行官(CTO)Dave Aitel为这本书担任了技术编辑一职。书中绝大部分篇幅着眼于黑客技术领域中的两大经久不衰的话题:逆向工程与漏洞挖掘,并向读者呈现了几乎每个逆向工程师或安全研究人员在日常工作中所面临的各种场景,其中包括:如何设计与构建自己的调试工具,如何自动化实现烦琐的逆向分析任务,如何设计与构建自己的fuzzing工具,如何利用fuzzing 测试来找出存在于软件产品中的安全漏洞,一些小技巧诸如钩子与注入技术的应用,以及对一些主流Python安全工具如PyDbg、 Immunity Debugger、Sulley、IDAPython、PyEmu等的深入介绍。作者借助于如今黑客社区中备受青睐的编程语言 Python引领读者构建出精悍的脚本程序来一一应对上述这些问题。出现在书中的相当一部分Python代码实例借鉴或直接来源于一些优秀的开源安全项目, 阅读全文
posted @ 2013-11-18 11:01 玄魂 阅读(1446) 评论(0) 推荐(0) 编辑
摘要:在开始这一系列文章之前,我想先说下,对于古董级的8086汇编到底还以有没有学习的必要。这里我说下我要从8086开始学习,而不是从win32汇编或者win64汇编直接开始学习的理由。 开发技术越是上层,高级,那么对底层封装的就越深。我学习汇编语言的目的,不是用它来开发应用软件,因为那是高级语言擅长的领域。学习汇编,正是为了理解操作系统底层技术。 汇编语言一脉相承,从基本开始,才能理解本质,理清脉络。 从内存管理的角度看,实模式和保护模式一直相辅相成,即使是最现代的操作系统也没有脱离实模式。学习8086汇编,是理解实模式的最好方式。 基于这几点理由,我的汇编之旅,从8086开始。按惯例,第一篇文章,都是从开发环境的搭建开始,这个系列也不例外,只不过我分成两篇文章,第一篇简单介绍在虚拟机中安装dos 7.1,下一篇再介绍如何集成开发工具到虚拟机中 阅读全文
posted @ 2013-11-08 17:02 玄魂 阅读(2489) 评论(0) 推荐(0) 编辑
摘要:在前面关于CLR寄宿的几篇博客(CLR寄宿(上) MSCOREE.DLL,CLR寄宿(中) 托管exe文件的加载和执行,CLR寄宿(下) 托管宿主)中,介绍了常用的宿主接口。宿主接口,允许我们使用非托管代码创建CLR宿主,从而启动CLR,运行托管代码,控制垃圾回收……等一系列功能。本篇博文要讲解的是使用CLR宿主的一个场景——进程注入。 进程注入是一种将代码注入到已有进程地址空间内,并执行的技术。进程注入的技术有很多,本文基于LoadDLL&CreateRemoteThread技术来讲解。 一般而言,我们会将要执行的代码编译到DLL文件里,然后加载到目标进程内执行。对于一个非托管DLL直接加载并执行就可以了,但是如果想把一个托管DLL加载到进程中并执行就要费一番周折,因为托管代码是不能直接执行的,要经过CLR的二次编译。如何解决这个问题呢? 因为环境对进程注入的影响很大,我这里先列出 阅读全文
posted @ 2012-07-22 20:19 玄魂 阅读(6952) 评论(10) 推荐(5) 编辑
摘要:1).NET 体系结构 2)托管PE文件 3)元数据与IL简介 4)程序集基本概念 5)说说emit(上)基本操作 6)说说emit(中)ILGenerator 7)应用程序域基础 8)CLR寄宿(上) MSCOREE.DLL 9)CLR寄宿(中) 托管exe文件的加载和执行 10)CLR寄宿(下) 托管宿主 11)代码组(1) 对代码组的管理 12)代码组(2) 成员条件 13)代码组(3) 属性 14)基于角色的安全性编程入门示例 15)对称加密(1) 对称加密基本原理 16)对称加密(2) 对称加密算法 17)对称加密(3) NET对称加密体系 18)对称加密(4) NET对称加密实践 19)非对称加密(1)非对称加密原理 20)非对称加密(2)非对称加密算法 21)非对称加 阅读全文
posted @ 2012-06-24 17:37 玄魂 阅读(3500) 评论(1) 推荐(9) 编辑
摘要:WIF(Windows Identity Foundation)是用于构建标识应用程序的框架。该框架将 WS-Trust 和 WS-Federation 协议抽象化,并向开发人员呈现用于构建安全令牌服务和声明感知应用程序的 API。应用程序可以使用 WIF 处理安全令牌服务颁发的令牌,并在 Web 应用程序或 Web 服务中,根据标识做出决策。 WIF具有以下主要功能: 阅读全文
posted @ 2012-06-24 17:29 玄魂 阅读(2532) 评论(0) 推荐(1) 编辑
摘要:本实例要实现合作伙伴员工通过单一登录来尝试访问其他合作伙伴域中的资源。联合身份验证方案中有三个主要角色:标识提供方、声明提供方和信赖方。WIF会提供API 来构建所有这三个角色。 图15-11说明了典型的联合身份验证方案。在此方案中,Fabrikam员工希望无需重新登录即可访问 Contoso.com 资源,也就是使用单一登录。 阅读全文
posted @ 2012-06-24 17:23 玄魂 阅读(2412) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示