扫描器开发学习
一、目标
扫描器开发之前要确定自己的目标,我的目标更偏向于指纹识别、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、创建时间、更新时间