C#灰帽子:设计安全测试工具 PDF 扫描版

  • 更新时间:
  • 955人关注
  • 点击下载

C#灰帽子:设计安全测试工具》是一本关于C#相关的电子书资源,介绍了关于C#、灰帽子、设计安全、测试工具方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小87 MB,布兰德·佩里,王自亮,侯敬编写,目前豆瓣、亚马逊、当当、京东等综合评分为:7.2分,一起来看下具体内容。

资源详情相关推荐
《C#灰帽子:设计安全测试工具》封面
  • 出版社:机械工业出版社
  • 作者:布兰德·佩里,王自亮,侯敬
  • 大小:87 MB
  • 类别:C#
  • 热度:279
  • 深入理解C#
  • C#程序设计
  • C#函数式程序设计
  • C#精彩编程200例
  • 零基础学C#
  • C#灰帽子:设计安全测试工具》介绍如何用C#核心库进行漏洞扫描、恶意软件自动分析和安全事件响应等,以及如何编写安全实用工具可应用于Mac、Linux、移动平台等。例如,编写模糊分析器以便用HTTP和XML库扫描SQL和XSS注入,在Metasploit中生成代码来创建跨平台和跨架构的工具,用Nessus、OpenVAS和sqlmap自动化扫描漏洞并利用SQL漏洞,等等。使用C#工具库和本书提供的工具可简化日常安全工作。

    目录

    • 第1章 C#基础知识速成 1
    • 1.1 选择IDE 1
    • 1.2 一个简单的例子 2
    • 1.3 类和接口 3
    • 1.3.1 创建一个类 4
    • 1.3.2 创建接口 4
    • 1.3.3 从抽象类中子类化并实现接口 5
    • 1.3.4 将所有内容与Main()方法结合到一起 7
    • 1.3.5 运行Main()方法 8
    • 1.4 匿名方法 9
    • 1.4.1 在方法中使用委托 9
    • 1.4.2 更新Firefighter类 10
    • 1.4.3 创建可选参数 10
    • 1.4.4 更新Main()方法 11
    • 1.4.5 运行更新的Main()方法 12
    • 1.5 与本地库整合 12
    • 1.6 本章小结 14
    • 第2章 模糊测试和漏洞利用技术 15
    • 2.1 设置虚拟机 16
    • 2.1.1 添加仅主机虚拟网络 16
    • 2.1.2 创建虚拟机 16
    • 2.1.3 从BadStore ISO启动虚拟机 17
    • 2.2 SQL注入 19
    • 2.3 跨站脚本攻击 20
    • 2.4 使用基于突变的模糊测试工具对GET参数进行模糊测试 22
    • 2.4.1 污染参数和测试漏洞 23
    • 2.4.2 构造HTTP请求 23
    • 2.4.3 测试模糊测试的代码 25
    • 2.5 对POST请求进行模糊测试 25
    • 2.5.1 编写一个对POST请求进行模糊测试的工具 28
    • 2.5.2 开始模糊测试 29
    • 2.5.3 对参数进行模糊测试 30
    • 2.6 对JSON进行模糊测试 32
    • 2.6.1 设置存在漏洞的程序 32
    • 2.6.2 捕获易受攻击的JSON请求 33
    • 2.6.3 编写对JSON进行模糊测试的工具 34
    • 2.6.4 测试对JSON进行模糊测试的工具 39
    • 2.7 利用SQL注入 40
    • 2.7.1 手工进行基于UNION的注入 40
    • 2.7.2 编程进行基于UNION的注入 42
    • 2.7.3 利用基于布尔的SQL注入 45
    • 2.8 本章小结 53
    • 第3章 对SOAP终端进行模糊测试 55
    • 3.1 设置易受攻击的终端 55
    • 3.2 解析WSDL 56
    • 3.2.1 为WSDL文档编写一个类 57
    • 3.2.2 编写初始解析方法 58
    • 3.2.3 为SOAP类型和参数编写一个类 60
    • 3.2.4 编写一个SoapMessage类来定义发送的数据 62
    • 3.2.5 为消息部分实现一个类 63
    • 3.2.6 使用SoapPortType类定义端口操作 64
    • 3.2.7 为端口操作实现一个类 65
    • 3.2.8 使用SOAP绑定定义协议 66
    • 3.2.9 编辑操作子节点的列表 68
    • 3.2.10 在端口上寻找SOAP服务 68
    • 3.3 自动化执行模糊测试 70
    • 3.3.1 对不同的SOAP服务进行模糊测试 71
    • 3.3.2 对SOAP HTTP POST端口进行模糊测试 75
    • 3.3.3 对SOAP XML端口进行模糊测试 78
    • 3.3.4 运行模糊测试工具 82
    • 3.4 本章小结 83
    • 第4章 编写有效载荷 84
    • 4.1 编写回连的有效载荷 84
    • 4.1.1 网络流 85
    • 4.1.2 运行命令 86
    • 4.1.3 运行有效载荷 88
    • 4.2 绑定有效载荷 88
    • 4.2.1 接收数据,运行命令,返回输出 89
    • 4.2.2 从流中执行命令 90
    • 4.3 使用UDP攻击网络 91
    • 4.3.1 运行在目标机器上的代码 92
    • 4.3.2 运行在攻击者机器上的代码 95
    • 4.4 从C#中运行x86和x86-64 Metasploit有效载荷 97
    • 4.4.1 安装Metasploit 97
    • 4.4.2 生成有效载荷 99
    • 4.4.3 执行本机Windows有效载荷作为非托管代码 100
    • 4.4.4 执行本机Linux有效载荷 102
    • 4.5 本章小结 106
    • 第5章 自动化运行Nessus 107
    • 5.1 REST和Nessus API 107
    • 5.2 NessusSession类 108
    • 5.2.1 发送HTTP请求 109
    • 5.2.2 注销和清理 111
    • 5.2.3 测试NessusSession类 112
    • 5.3 NessusManager类 112
    • 5.4 启动Nessus扫描 114
    • 5.5 本章小结 117
    • 第6章 自动化运行Nexpose 118
    • 6.1 安装Nexpose 118
    • 6.1.1 激活与测试 120
    • 6.1.2 一些Nexpose语法 121
    • 6.2 NexposeSession类 121
    • 6.2.1 ExecuteCommand()方法 123
    • 6.2.2 注销及释放会话 126
    • 6.2.3 获取API版本 127
    • 6.2.4 调用Nexpose API 127
    • 6.3 NexposeManager类 128
    • 6.4 自动发起漏洞扫描 130
    • 6.4.1 创建一个拥有资产的站点 130
    • 6.4.2 启动扫描 131
    • 6.5 创建PDF格式站点扫描报告及删除站点 132
    • 6.6 汇总 133
    • 6.6.1 开始扫描 133
    • 6.6.2 生成扫描报告并删除站点 134
    • 6.6.3 执行自动化扫描程序 134
    • 6.7 本章小结 135
    • 第7章 自动化运行OpenVAS 136
    • 7.1 安装OpenVAS 136
    • 7.2 构建类 137
    • 7.3 OpenVASSession类 137
    • 7.3.1 OpenVAS服务器认证 138
    • 7.3.2 创建执行OpenVAS命令的方法 139
    • 7.3.3 读取服务器消息 140
    • 7.3.4 建立发送/接收命令的TCP流 141
    • 7.3.5 证书有效性及碎片回收 141
    • 7.3.6 获取OpenVAS版本 142
    • 7.4 OpenVASManager类 143
    • 7.4.1 获取扫描配置并创建目标 144
    • 7.4.2 封装自动化技术 148
    • 7.4.3 运行自动化操作 149
    • 7.5 本章小结 149
    • 第8章 自动化运行Cuckoo Sandbox 150
    • 8.1 安装Cuckoo Sandbox 150
    • 8.2 手动运行Cuckoo Sandbox API 151
    • 8.2.1 启动API 151
    • 8.2.2 检查Cuckoo的状态 152
    • 8.3 创建CuckooSession类 153
    • 8.3.1 编写ExecuteCommand()方法来处理HTTP请求 154
    • 8.3.2 用GetMultipartFormData()方法创建分段HTTP数据 156
    • 8.3.3 用FileParameter类处理文件数据 158
    • 8.3.4 测试CuckooSession及支持类 159
    • 8.4 编写CuckooManger类 160
    • 8.4.1 编写CreateTask()方法 161
    • 8.4.2 任务细节及报告方法 162
    • 8.4.3 创建任务抽象类 163
    • 8.4.4 排序并创建不同的类类型 165
    • 8.5 组合在一起 167
    • 8.6 测试应用程序 168
    • 8.7 本章小结 170
    • 第9章 自动化运行sqlmap 171
    • 9.1 运行sqlmap 172
    • 9.1.1 sqlmap REST API 173
    • 9.1.2 用curl测试sqlmap API 174
    • 9.2 创建一个用于sqlmap的会话 177
    • 9.2.1 创建执行GET请求的方法 179
    • 9.2.2 执行POST请求 179
    • 9.2.3 测试Session类 180
    • 9.3 SqlmapManager类 182
    • 9.3.1 列出sqlmap选项 184
    • 9.3.2 编写执行扫描的方法 185
    • 9.3.3 新的Main()方法 187
    • 9.4 扫描报告 188
    • 9.5 自动化执行一个完整的sqlmap扫描 189
    • 9.6 将sqlmap和SOAP漏洞测试程序集成在一起 191
    • 9.6.1 在SOAP漏洞测试程序中增加sqlmap GET请求支持 191
    • 9.6.2 增加sqlmap POST请求支持 192
    • 9.6.3 调用新编写的方法 194
    • 9.7 本章小结 196
    • 第10章 自动化运行ClamAV 197
    • 10.1 安装ClamAV软件 197
    • 10.2 ClamAV软件本地库与clamd网络守护进程 199
    • 10.3 通过ClamAV软件本地库自动执行 199
    • 10.3.1 创建支持的枚举类型和类 199
    • 10.3.2 调用ClamAV软件的本地库函数 202
    • 10.3.3 编译ClamAV软件引擎 203
    • 10.3.4 扫描文件 205
    • 10.3.5 清理收尾 206
    • 10.3.6 通过扫描EICAR测试文件来测试程序 207
    • 10.4 通过clamd守护进程自动化执行 208
    • 10.4.1 安装clamd守护进程 209
    • 10.4.2 启动clamd守护进程 209
    • 10.4.3 创建clamd进程会话类 210
    • 10.4.4 创建clamd进程管理器类 211
    • 10.4.5 测试clamd进程 212
    • 10.5 本章小结 214
    • 第11章 自动化运行Metasploit 215
    • 11.1 运行RPC服务器 215
    • 11.2 安装Metasploitable系统 217
    • 11.3 获取MSGPACK库 218
    • 11.3.1 为MonoDevelop环境安装NuGet软件包管理器 218
    • 11.3.2 安装MSGPACK库 219
    • 11.3.3 引用MSGPACK库 220
    • 11.4 编写MetasploitSession类 221
    • 11.4.1 为HTTP请求以及与MSGPACK库进行交互创建Execute()方法 222
    • 11.4.2 转换MSGPACK库的响应数据 223
    • 11.5 测试会话类 225
    • 11.6 编写MetasploitManager类 226
    • 11.7 整合代码模块 228
    • 11.7.1 运行漏洞利用示例 229
    • 11.7.2 与命令行进行交互 230
    • 11.7.3 连接得到命令行 231
    • 11.8 本章小结 231
    • 第12章 自动化运行Arachni 233
    • 12.1 安装Arachni软件 233
    • 12.2 Arachni软件的REST API函数 234
    • 12.2.1 创建ArachniHTTP-Session类 235
    • 12.2.2 创建ArachniHTTP-Manager类 237
    • 12.3 整合会话和管理器类 238
    • 12.4 Arachni软件的RPC服务 239
    • 12.4.1 手动运行RPC服务 239
    • 12.4.2 ArachniRPCSession类 241
    • 12.4.3 ExecuteCommand()的支持方法 243
    • 12.4.4 ExecuteCommand()方法 245
    • 12.4.5 ArachniRPCManager类 247
    • 12.5 整合代码 248
    • 12.6 本章小结 250
    • 第13章 反编译和逆向分析托管程序集 252
    • 13.1 反编译托管程序集 252
    • 13.2 测试反编译器 255
    • 13.3 使用monodis工具分析程序集 256
    • 13.4 本章小结 259
    • 第14章 读取离线注册表项 260
    • 14.1 注册表项结构 260
    • 14.2 获取注册表项 261
    • 14.3 读取注册表项 263
    • 14.3.1 创建注册表项文件的解析类 263
    • 14.3.2 创建节点键类 264
    • 14.3.3 创建值键的存储类 269
    • 14.4 对库进行测试 270
    • 14.5 导出启动密钥 271
    • 14.5.1 GetBootKey()方法 271
    • 14.5.2 GetValueKey()方法 273
    • 14.5.3 GetNodeKey()方法 273
    • 14.5.4 StringToByteArray()方法 274
    • 14.5.5 获取启动密钥 275
    • 14.5.6 验证启动密钥 275
    • 14.6 本章小结 276
    展开阅读

    C#相关资源

    • C#区块链编程

      C#区块链编程

      C#区块链编程 详细的讲解了区块链与比特币的关系,并且阐述了关键的存储和数字生成机制,让读者了解区块链的实在,并且知道如何运用区块链编程。 本书将带你从区块链的基本应用走向高

      大小:2.8 MBC#区块链

      立即下载
    • 三维模型变形算法:理论和实践:C#版本

      三维模型变形算法:理论和实践:C#版本

      本书讲述了三维图形领域*重要的一个模块:三维模型变形的算法,包括理论和实现。首先讲述了工业软件里三维模型变形的使用,其次讲述了FFD、MeanValue、拉普拉斯、骨骼动画、蒙皮等变形算

      大小:220 MB三维模型

      立即下载
    • C#从入门到精通

      C#从入门到精通

      c#从入门到精通(第4版) 从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用c#进行WinForm应用程序开发应该掌握的各方面技术。 《c#从入门到精通(第4版)》共分26章

      大小:1.6GB MBC#

      立即下载
    • C# 2012数据库编程入门经典

      C# 2012数据库编程入门经典

      C# 2012数据库编程入门经典(第5版) 就是一本帮助具有C语言基础的程序员快速掌握数据库编程知识的书。书中包括了关系数据库的原理和用法,AD0.NET等常见的数据访问技术,以及丰富的T-SQL和

      大小:88.2 MBC#

      立即下载
    • C#并发编程经典实例

      C#并发编程经典实例

      C#并发编程经典实例 全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。全书分为几大部分:首先介绍几种并发编程技术,包括异步编程、并行编程、TPL数据流、响应式编程;然

      大小:10.8 MBC#编程

      立即下载
    • C#敏捷开发实践

      C#敏捷开发实践

      用户的需求经常变化,每个开发者都深受其害。不过,如果能够提高代码的自适应性,就能更加轻松地响应变化,避免重复劳动。《 C#敏捷开发实践 》介绍了敏捷编程的best practice、原则和模式

      大小:16.6 MBC#开发

      立即下载

    学习笔记

    11小时50分钟前回答

    C#如何在海量数据下的高效读取写入MySQL

    前提 由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G都是都是家常便饭。 主要开发语言是C#,数据库使用的是MySQL。 最常见的操作便是 select 读取数据,然后在C#中对数据进行处理, 完毕后再插入数据库中。 简而言之就 select - process - insert三个步骤。 对于数据量小的情况下(百万级别 or 几百兆)可能最多1个小时就处理完了。但是对于千万级数据可能几天,甚至更多。 那么问题来了,如何优化?? (数据库的一览,有图有真相) 第一步 解决读取的问题 跟数据库打交道的方式有很多,我来列举下吧: 1. 【重武器-坦克大炮】使用重型ORM框架,比如……

    10小时53分钟前回答

    c#如何调用python

    如果让C#支持调用Python模块,我们首先需要安装一些扩展,这里推荐使用IronPython库。 第一步,我们需要下载IronPython库的安装包,这里请大家移步官网http://ironpython.codeplex.com/,下载并安装相关库文件。 相关推荐:《Python视频教程》 第二步,我们新建一个C#控制台测试项目,并将IronPython安装目录中的如下DLL文件添加进项目引用。 第三步,我们分别编写C#代码,并添加Python代码文件到项目中,代码如下。 C#代码部分 using System;using IronPython.Hosting; //导入IronPython库文件using Microsoft.Scripting.Hosting; //导入微软脚本解释库文件 namespace ConsoleApplication1{ class Program { static void Main(string[] args) { ScriptRuntime pyRuntime = Python.……