毕业已经一年多了,这一年多,一直都对安全方面的知识感兴趣。但是感觉网上资料真的很少,也瞎折腾过不少工具(AppScan、BurpSuite、Sqlmap、nmap等),却感觉与印象中的“安全测试”相差甚远,觉得自己一直徘徊在这扇门的前面而不得入,身边的朋友做安全这方面的几乎没有。以下是一些瞎整理的东西,若路过的大佬们发现有错误,欢迎留言指正!!
一、业务安全分析
1、网络层
DDOS攻击
2、Web层-应用安全
SQL注入
XSS
CSRF
表单篡改(Get&Post)
二、业务安全-风控
1、账号(注册、登录、短信)
2、敏感信息(手机号,家庭住址,物品明细,身份证....)
3、羊毛党
分类型,是“业务跑量”还是“拉新用户”来决定水军在公司的容忍高低;
4、支付安全
三、内部安全
1、服务器安全(线上,线下)
2、数据安全(权限,加密,追溯问责)
3、源代码管理(配置管理)
4、桌面安全(离开锁屏)
5、内部其他(邮件钓鱼,链接电鱼,网站钓鱼)
6、漏洞预警以及处理
四、安全测试的流程(科班出身的流程)
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人;
2、系统分析&威胁分析:针对具体的Web应用,分析系统架构,使用的组件、可对外提供的接口等,以威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁(sql注入、Xss、CSRF);
3、制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
4、测试执行&漏洞挖掘:测试用例执行&发散测试,挖掘对应的安全问题or漏洞;
测试报告:对客户方进行告知
5、问题修复&回归测试:知道客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复且没有引入新的安全问题;
6、项目总结评审:项目过程总结,输出文档评审,相关文档归档;
PS:某从事安全测试的朋友告知,一般工作中,不会采用以上的流程,而采用“野路子”的一套流程,各种操作得到自己想要的数据。(忘记问具体的了,-_-||)
目前在看《Web安全测试》一书,一句话让我开拓了眼界:【平时的测试是站在用户的角度去测试系统,而安全测试是站着破坏者的角度去测试系统】有种恍然大悟的感觉。以上内容,若看的不明白,实属正常,因为这是笔记,没有详细的展开写。也是因为自身知识不够,无法详细的描述,顶多复述他人告知我的知识,望见谅。