最全渗透学习攻略
🚀一、初识渗透测试
�.黑客、白客、红客区别
⌛ (1)黑客
黑客一词,源于英文Hacker,指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员;红客是中国大陆有政治积极行动主义的黑客组织,黑客的基本含义是指精通计算机技术的人。但是白帽黑客有能力破坏计算机安全,但不是恶意黑客。
黑客守则注意事项:
1、不恶意破坏任何的系统,恶意破坏它人的软件将导致法律责任,不要破坏它人的文件或数据。
2、不要在bbs或论坛上谈论关于黑客行为的任何事情。
3、入侵期间,不要随意离开电脑。
4、不要入侵或攻击电信/政府机关的主机。
5、不在电话中谈论关于黑客行为的任何事情。
6、读遍所有有关系统安全或系统漏洞的文件。
7、已侵入电脑中的帐号不得删除或修改。
⛺(2)白客
白客就是指从事正当行业的黑客,他们相当于黑帽与白帽,骇客与白客一般,也就是对网络有很深的了解,并且不骚扰别人。
🐦(3)红客
红客是一种精神,是一种热爱祖国、坚持正义、奋发有为的精神。所以只要有这种精神,热爱计算技术,就可以称之为“红客”。
�.渗透测试的目的和意义
⌛(1)目的
- 信息安全等级保护的要求
2015年12⽉28⽇,银监会等部门发布的《⽹络借贷信息中介机构业务活动管理暂⾏办法(征求意见稿)》中明确要求:”⽹络借贷信息中介机构应
按照国家⽹络安全相关规定和国家信息安全等级保护制度的要求,开展信息系统定级备案和等级测试。”信息安全等级保护是由等级测评机构依据
国家信息安全等级保护制度规定,按照管理规范和技术标准,对信息系统安全等级保护状况进⾏检测评估的活动。值得关注的是,在信息安全风险
评估中,渗透测试是⼀种常⽤且⾮常重要的⼿段。
- 渗透测试助⼒PCI DSS合规建设
在PCI DSS(Payment Card Industry Security Standards Council⽀付卡⾏业安全标准委员会)第 11.3中有这样的要求:⾄少每年或者在基
础架构或应⽤程序有任何重⼤升级或修改后(例如操作系统升级、环境中添加⼦⽹络或环境中添加⽹络服务器)都需要执⾏内部和外部基于应⽤层和
⽹络层的渗透测试。
- ISO27001认证的基线要求
ISO27001 附录”A12信息系统开发、获取和维护”的要求,建⽴了软件安全开发周期,并且特别提出应在上线前参照例如OWASP标准进⾏额外的
渗透测试 。
- 银监会多项监管指引中要求
依据银监会颁发的多项监管指引中明确要求,对银⾏的安全策略、内控制度、风险管理、系统安全等⽅⾯需要进⾏的渗透测试和管控能⼒的考察与
评价。
⽹站为什么要做渗透测试?除了满⾜政策的合规性要求、提⾼客户的操作安全性或满⾜业务合作伙伴的要求。最终的⽬标应该是最⼤限度地减⼩业
务风险。企业需要尽可能多地进⾏渗透测试,以保持安全风险在可控制的范围内。
⽹站开发过程中,会发⽣很多难以控制、难以发现的隐形安全问题,当这些⼤量的瑕疵暴露于外部⽹络环境中的时候,就产⽣了信息安全威胁。这
个问题,企业可以通过定期的渗透测试进⾏有效防范,早发现、早解决。经过专业渗透⼈员测试加固后的系统会变得更加稳定、安全,测试后的报
告可以帮助管理⼈员进⾏更好的项⽬决策,同时证明增加安全预算的必要性,并将安全问题传达到⾼级管理层。
⛺(2)意义
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
🚀二、知识架构
�.需要学什么
基础测试阶段
⌛(1)web基础知识
⛄<1>.静态资源
静态资源 | 作用 |
---|---|
html | 网页框架 |
css | 框架上加入一些动态效果 |
js | 框架上完成一些交互 |
🌠<2>.服务器的操作系统
常用操作系统 | 推荐 |
---|---|
windows | win10 |
ubuntu | 开发者常用系统(liunx内核) |
centos | liunx内核的操作系统 |
kail | 黑客集成操作系统 |
⛄<3>.中间件
APACHE
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
IIS
互联网信息服务(英语:Internet Information Services,简称IIS),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是WindowsNT版本的可选包,随后自带在Windows2000、Windows XP Professional和Windows Server 2003一起发布,但在普遍使用的Windows XP Home版本上并没有IIS
TomCat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
⌛(2)web前端和php
⛄<1>.web前端
前端:
前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。
前端开发跟随移动互联网发展带来了大量高性能的移动终端设备应用。HTML5,Node.js的广泛应用,各类UI框架,JS类库层出不穷,开发难度也在逐步提升。
这里用一个网站举例:
像是这个我们熟悉的配色网站所有的布局能看到的都属于前端。
🍁<1>.php
PHP:
PHP主要用与信息的交互,比如说我们熟悉的输入账号密码的基本上都是由php脚本语言存入数据库的
举例:
这种提交信息的页面,一般都是由php对数据库进行传输的
⌛(3)数据库
<1>.关系型数据库
关系数据库
包括:MySQL、MariaDB(MySQL的代替品,英⽂维基百科从MySQL转向MariaDB)、Percona
Server(MySQL的代替品)、 PostgreSQL、Microsoft Access、Microsoft SQL、Server、Google Fusion Tables。FileMaker、Oracle数据库、Sybase、dBASE、Clipper、FoxPro、foshub。⼏乎所有的数据库管理系统都配备了⼀个开放式数据库连 接(ODBC)驱动程序,令各个数据库之间得以互相集成。
链接:内容来源
⛄<2>.非关系型数据库
⾮关系型数据库(NoSQL)
包括:BigTable(Google)、Cassandra、MongoDB、CouchDB、键值(key-value)数据库、Apache
Cassandra(为Facebook所 使⽤):⾼度可扩展、Dynamo、LevelDB(Goog
⌛(4)burp工具
🌠<1>.burp是什么
Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp
Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP
消息、持久性、认证、代理、日志、警报。
(burp后期是非常常用的工具,主要用于抓包、爆破、伪造url等等)
🍁<2>.burp抓的包都代表什么
渗透阶段
⛺(5)信息收集
🍁<1>.Google语法
🌠<2>.whois协议
WHOIS 是用来查询域名或 IP 所有者信息的传输协议。它可以用来查询域名是否已经被注册,以及注册者的详细信息。WHOIS协议只是规定查询的方式,具体功能还是需要对应的程序来完成,这类程序被称为 WHOIS 服务。
工作流程:
图片来源
客户端向 WHOIS 服务器的 43 端口发送 TCP[SYN] 数据包,请求建立连接。
服务器返回 TCP[SYN,ACK] 包,表示可以进行连接。
客户端向服务器发送要查询的信息。这里查询 baidu.com 的域名注册信息。所以发送域名 baidu.com,以回车和换行结尾。
服务器收到客户端的请求包,并查询自己的域名数据库。如果存在相应的记录,将相关信息返回给客户端,如所有者信息。
服务器继续将更多的域名注册信息返回给客户端,如联系方式、邮件地址等。
当服务器将所有的信息都返回给客户端后,将关闭连接。此时,向客户端发送 TCP[FIN] 数据包。
客户端收到服务器发来的关闭连接数据包,将关闭连接。然后,向服务器发送 TCP[FIN] 数据包。
⛄<3>.子域名
子域名(或子域;英语:Subdomain)是在域名系统等级中,属于更高一层域的域。比如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级域.com的子域。
🍁<4>.C段
每个 IP 有 ABCD 四 个段,举个例子,127.0.0.1,A 段就是 127,B 段是 0,C 段是 0,D 段是 1
🌠<5>.旁站
旁站就是在同一顶级域下的其他站,有时候主站上漏洞很少,所以需要在旁站下手,主站旁站都属于同一个服务器。
⛄<6>.文件扫描
这里我给大家讲两个比较常用的扫描平台,用法在后期文章中会讲解
1.acunetix
2.nessus
安装教程:点击此链接
⛺(6)SQL注入
🍁<1>.sql注入讲解
🍁<2>.sqlmap
⛺(7)文件上传
🌠<2>.什么是文件上传漏洞
⛺(8)后面的内容后期会再次更新各位伙伴耐心等待
🚀三、实战心得
𣆱.渗透流程
𦾢.思路的重要性
在这里我想说,其实实践操作起来是很复杂的,半个月前我做了一个项目,拿到站后发现存在sql注入漏洞,利用sqlmap开始渗透,拿到信息后,发现是md5加密且无法破解,就没有办法继续下去,在这里我卡了大概三天左右,最后还是换了思路,通过xss获取cookie绕进去的。所以说思路还是很重要,前几天有一个站,我在做测试的时候,一直无法找到注入点,找注入点的时候已经花了1天时间,最后通过伪造命令等手段,几分钟就进去了,也许在实战中,所有前期的工作都很完善,实际情况与练习完全是两个概念,所以还是需要的多看一看大佬们的实战心得。
🚀四、入行还需要什么
�.精通一门语言
为什么需要精通一门语言呢?因为在现实工作中,会用到代码审计,所以说要了解一些代码,我在很多贴吧上看到大佬们一般来说精通java的比较多,因为js代码是web页面很主要的代码,我们需要看一些源代码来分析,尤其是在逻辑漏洞中体现非常明显。我个人是因为大学期间python方面学的比较多,所以常用python,python主要用于脚本写作比较多。
𦾢.选择哪门语言呢?
请各位技术好友根据自己的兴趣综合考虑.
🚀五、总结
希望各位小伙伴学习技术的同时,也要充分学习《网络安全法》,在合法合规的情况下进行技术的锻炼。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/6022.html