扫描器开发学习
一、目标
扫描器开发之前要确定自己的目标,我的目标更偏向于指纹识别、RCE类漏洞扫描。因为渗透测试的过程资产收集得越多,那么渗透成功的可能性也就越高,远程执行类漏洞简单粗暴。
学习过程中总是受到各种不可抗拒外力的中断,无法专注精力长时间学习一样事物,内心过于焦躁,全世界的安全技巧不可能全都学完,基础学科才是值得牢记的知识点。把基础知识与套路联动在一起才能突破瓶颈。为了把学习内容不间断的留存在脑子里,之选择了做笔记的方式记录下来。是因为反正也没有什么人看博客,童鞋们焦虑得很。
【通过展示高收益操作来获取人群的认同,这是无数金融家的梦想。】
二、学习技能树
拥有快速学习能⼒的白帽⼦, 是不能有短板的。有的只是⼤量的标准板和⼏块⻓板。又复习一遍猪猪侠的《我的白帽学习路线》把里面提到的知识点筛选出来,时时提醒自己应该学习什么。
基础知识
硬件&OS:
网易云课堂 study.163.com/curricula/cs.htm
1、 高等数学 2、 计算机组成原理 - 总线/存储器 - 运算器 - Cpu处理器 - 输入输出外设 离散数学基础 概率论与数理统计 3、 操作系统 - 启动/调用 - 进程/线程 - 内存管理 - 文件系统 计算机网络 线性代数 4、 计算机系统结构 - CPU结构 - 指令集 - 寻址方式 近世代数
网络:
TCP/IP详解-卷1
应用:
看视频接受度是最高的。熟悉PHP、Python、Java
书籍: CSS / HTML / JavaScript权威指南 视频: 兄弟连 PHP MySQL 开发 后盾网 PHP 开发 **Laravel/ThinkPHP/Yii/CodeIgniter** 中谷教育 **Django/Flask/Tornado** MSSQL .NET 开发 动⼒力力节点 J2EE 开发 **Servlet/JSP/反射机制 ** **Spring4/Struts2/Hibernate5/MyBatis3**
数据库:
SQL - MySQL - MSSQL - Oracle - PostgreSQL NoSQL - MongoDB 内存 - Redis - Memcache
重新理解安全技术
注入漏洞 - SQL注入 - 命令注入 - 表达式/代码注入 - SSRF网络注入 信息泄露 - 配置文件 - 测试文件 - 备份文件 - 接口暴露 - 心脏滴血 文件 - XXE - 文件包含 - 任意文件读取 - 任意文件上传 逻辑漏洞 - 穷举遍历 - 水平越权 - 流程乱序 - 数据篡改 - 未授权访问 拒绝服务 暴力破解 二进制漏洞 - 缓冲区溢出 - 堆/栈溢出 - 内存泄露 前端漏洞 - XSS - CSRF - ClickJacking
自动化开发横向知识栈
汇编语言和Linux调试技术是基础的技术栈。本来还应该学习IOS和Andorid得课程,但是后来想想精力有限。
汇编语言 调试技术 - Linux内核开发与调试 - 张银奎 - 深入软件调试 - 张银奎 二进制漏洞 - 0day安全:软件漏洞分析技术 - Fuzzsecurity教程 - 漏洞战争 - exploit编写系列教程 - 栈溢出攻击之弹出计算器 https://blog.csdn.net/rectsuly/article/details/70179755
三、扫描方式
目前了解到的扫描器能应用到找漏洞和工作用途的几类形式,主动扫描、被动扫描和指纹识别。
主动扫描
对CMS漏洞进行扫描,搜集大量的CMS漏洞POC进行扫描。依赖于CMS漏洞库的规则。
被动扫描
攻击者访问网站产生流量通过HTTP代理的形式把获取的URL数据提交给后台程序检测漏洞,
四、信息收集
只有获取大量资产信息后,才能产生大量的输入对漏洞进行探测,输出结果。主要是利用大数据情报搜集二级域名、端口、IP、URL来实现。
- 搜索引擎(百度、谷歌、搜狗)
- 大数据安全(fofa、zoomeye、censys等)
- 子域名枚举
五、漏洞测试
- POC、EXP插件(Pocsuite等)
- 漏洞扫描器(AWVS等)
六、数据规划
- IP、域名、端口、banner、CMS、创建时间、更新时间