一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
3.在创建连接操作helper::createLink()中,通过parse_str()函数进行第三次编码
存储型(持久型):
复现条件:
环境:windows11+phpstudyV8+php5.4.45+apache
程序框架:骑士cms V3.4.0
特点:存储型xss,过滤绕过
payload构造思路:
通过分析程序代码探查可控参数经过哪些变换最终导致漏洞发生的过程,以流程图的形式记录下来,最后采用自下而上的的逆推方式构建payload,流程图如下,在最末端构建payload为href=“javascript:alert(document.cookie)”,需要使用<img src=“闭合payload所在位置前后的标识符”,并且按照参数在流程图自下而上,路径上可能经历的解码和转换操作进行编码,从而触发和测试存储型xss漏洞
payload流程图:
复现漏洞:
首先我们搭建好靶场环境
然后我们注册一个企业用户并且登录账号
我们找到公司信息,然后先把基本信息填好,不然是进不到上传营业执照的地方的
然后我们来到上传营业执照的地方
我们在上传的时候就按照他给的格式上传即可
然后我们将他的图片地址复制出来,一会我们要用到
http://localhost/74cms/data/certificate/2021/12/27/1640606362579.jpg
我们开始构造payload链接
http://localhost/74cms"><?a class="admin_frameset" href=javascript;alert(document.cookie)?><img src=74cms/data/certificate/2021/12/27/1640606362579.jpg><?/a?><?b a="
光这样写好了payload还是不够的,我们要对他在进行一次编码,编码后的内容如下
http%3A%2F%2Flocalhost%2F74cms%22%3E%3C%3Fa%20class%3D%22admin_%26%23102%3Brameset%22%20href%3Dja%26%23118%3Basc%26%23114%3Bipt%3Bale%26%23114t(document.cookie)%3F%3E%3Cimg%20src%3D74cms%2Fdata%2Fcertificate%2F2021%2F12%2F27%2F1640606362579.jpg%3E%3C%3F%2Fa%3F%3E%3C%3Fb%20a%3D%22
然后我们找到系统首页下方的申请友链
这里的随便填写就好,但是一定易于辨认
然后我们在填写好之后提交的同时抓取他的数据包
将抓包的link_url参数值替换为之前编码过的payload
然后发送到重放攻击模块中发送数据包查看结果
好的,我们添加成功,然后我们登录后台,选择广告,点击友情链接进行查看,我们点击破损的图片
点击后就会弹出我们的cookie了
弹出了cookie就说明此漏洞存在,并且我们成功利用此漏洞拿到了cookie信息
DOM型:
复现条件:
环境:windows11+phpstudyV8+php5.4.45+apache
程序框架:discuzV5.4
特点:存储型DOMxss,bbcode ,实体编码绕过
payload构造思路:
通过分析得知,dz论坛是可以允许用户在发帖的时候将邮箱格式的内容自动转换为超链接的形式,由此可知我们包含在帖子里的payload代码未被过滤掉(过滤不严谨),导致只通过bbcode2html方法将bbcode形式的字符串内容转换为html语法内容,使payload或poc成功嵌入前端显示对象中。当鼠标移动到该对象时,触发执行我们的payload或者poc代码。跟踪post参数传递和处理过程,分析bbcode2html方法转换机制,是构造payload或poc的关键。
复现漏洞:
我们先把dz论坛搭建好
然后我们去注册一个账号
接下来我们去发一篇帖子
emmm,那就等两分钟吧
我们在发帖子的时候把我们的payload代码放进去,如下图所示
写好以后我们提交帖子
然后我们使用有修改权限的账号对这个帖子进行编辑
我们在保存新的帖子页面的时候将鼠标移动过这篇帖子,我们的xss代码将会被触发
经过测试只能是数字才可以,其他的都不行,数字与特殊符号组合使用直接过滤掉特殊符号,数字与字母组合,直接不触发xss代码
我们可以看到xss代码已经被嵌入HTML的DOM模型中了,并且有实际效果,漏洞复现成功
Part4防御方法
(1)基于特征的防御。
XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难,不可能以单一特征来概括所有XSS攻击。
传统的XSS防御在进行攻击鉴别时多采用特征匹配方式,主要是针对“javascript”这个关键字进行检索,但是这种鉴别不够灵活,凡是提交的信息中各有“javascript”时,就被硬性的被判定为XSS攻击。
(2)基于代码修改的防御。
Web页面开发者在编写程序时往往会出现一些失误和漏洞,XSS攻击正是利用了失误和漏洞,因此一种比较理想的方法就是通过优化Web应用开发来减少漏洞,避免被攻击:
**1)**用户向服务器上提交的信息要对URL和附带的的HTTP头、POST数据等进行查询,对不是规定格式、长度的内容进行过滤。
**2)**实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
**3)**确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。
当然,如上操作将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。并且考虑到很少有Web编码人员受过正规的安全培训,很难做到完全避免页面中的XSS漏洞。
(3)客户端分层防御策略。
客户端跨站脚本攻击的分层防御策略是基于独立分配线程和分层防御策略的安全模型。它建立在客户端(浏览器),这是它与其他模型最大的区别,之所以客户端安全性如此重要,客户端在接受服务器信息,选择性的执行相关内容。这样就可以使防御XSS攻击变得容易,该模型主要由三大部分组成:
**1)**对每一个网页分配独立线程且分析资源消耗的“网页线程分析模块”;
**2)**包含分层防御策略四个规则的用户输入分析模块;
**3)**保存互联网上有关XSS恶意网站信息的XSS信息数据库。
XSS攻击主要是由程序漏洞造成的,要完全防止XSS安全漏洞主要依靠程序员较高的编程能力和安全意识,当然安全的软件开发流程及其他一些编程安全原则也可以大大减少XSS安全漏洞的发生。这些防范XSS漏洞原则包括:
**(1)**不信任用户提交的任何内容,对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、REFER、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。尽量采用POST而非GET提交表单;对“<”,“>”,“;”,“””等字符做过滤;任何内容输出到页面之前都必须加以en-code,避免不小心把htmltag显示出来。
**(2)**实现Session 标记(session tokens)、CAPTCHA(验证码)系统或者HTTP引用头检查,以防功能被第三方网站所执行,对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。
**(3)**cookie 防盗。避免直接在cookie中泄露用户隐私,例如email、密码,等等;通过使cookie和系统IP绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,很难拿来直接进行重放攻击。
**(4)**确认接收的内容被妥善地规范化,仅包含最小的、安全的Tag(没有JavaScript),去掉任何对远程内容的引用(尤其是样式表和JavaScript),使用HTTPonly的cookie。
“D&X 安全实验室”
专注渗透测试技术
如何自学黑客&网络安全
黑客零基础入门学习路线&规划
初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!