文章目录 第一关:基于表单的暴力破解 第二关 验证码绕过(on server) 第三关 验证码绕过(on client) 第四关 token防爆破? 3.进行爆破配置 总结 ==零基础入门网络安全/渗透测试== 大纲学习教程面试刷题 资料领取 前言
本来想在打靶场的 同时结合实战案例放在一起进行分享 ,结果发现篇幅太长,也不利于看,就放在下一篇中结合着一起来看,当然我也会在下面的靶场中,写出具体的一些实战遇到的解释,
为什么要着重来写这个,能用弱口令进入的页面是获得权限以及获取其他漏洞的最好方式了,实在没办法的话,采取其他战术.
弱口令与暴力破解介绍
弱口令是指容易被猜测或破解的密码,而爆破破解是一种通过穷举法尝试所有可能的密码组合以破解密码的方法。
弱口令通常指的是那些强度不高、容易被人猜到或者被破解工具所破解的密码。这类口令往往包含简单的数字和字母,例如“123”或“abc”,包括常见的生日日期、重复的数字和字母等。由于这些密码结构简单,没有混合使用大小写字母、数字及特殊字符,使得它们对渗透人员来说非常容易被识别和破解。
爆破破解则是一种基于穷举法的破解手段,它通过系统地尝试各种可能的密码组合直到找到正确的密码。这种方法对于人为设置的非随机密码尤为有效,因为人为设置的密码往往有一定的规律性,可以通过预设的密码字典或彩虹表来缩短破解所需的时间。在Web应用中,暴力破解常用于对应用系统的认证信息进行获取,渗透测试人员会使用大量认证信息尝试登录,直到得到正确的结果。为了提高效率,通常会使用自动化工具进行操作。
第一关:基于表单的暴力破解
最常见的登录界面,使用弱口令失败,一般会采用爆破密码的方式,当然也会辅助性的结合逻辑漏洞,这个后面碰到再说
绕过步骤 1.第一步抓包观察
先随便输入一个用户名和密码观察回显,然后再随便输入后,进行抓包,注意查看返回的提示.
在实战中,一会出现和下面的提示一样的文字一般是红色,或者是弹窗一样的东西.下面提示账号或密码不存在.
2.使用burp的攻击模块
然后将抓到的包发送的攻击模块,并将账号密码分别增加载荷
3.选择攻击模式以及爆破字典
然后Attack Type选择Cluster bomb,这里我们需要进行账号密码的爆破,所以我们需要对两个参数进行palyload设置,然后选择设置是狙击手,也就是简单列表.然后我分别对两个参数进行字典的设置(选择字典导入或是复制字典,进行粘贴),然后开始
4.进行爆破
这里因为用大字典跑的话,比较费时间,我就将提示里的账号密码放入到我自己构造的小字典中了.
这里也是爆破出两个,其中提示给出了三个用户,我手动验证了一下发现有一个用户其实是错误的.
第二关 验证码绕过(on server) 绕过步骤
这里就涉及到逻辑部分的漏洞了,因为开发人员的开发失误在爆破中我们常会通过逻辑漏洞辅助我们进行弱口令爆破
1.观察输入错误观察返回结果
观察页面一般验证码做的很随意,就可以考虑,当然也会存在像若依的那样的有明显判别方式的验证码,可以尝试若依的弱口令或是其他方式进行测试了.
首先观察一下,用户名和密码输入错误值,当验证码是错误值时,返回结果如下,提示验证码错误.
2.输入正确观察返结果
用户名和密码输入错误值,当验证码是正确值时,返回结果如下,提示用户名或密码不存在
3.进行发包测试
把刚刚试的随便一个包send to repeater
4.重复发包测试
改成当前网页显示的验证码,send,发现response中提示的是用户名或密码不存在,说明验证码是对的.
5.绕过验证码开始爆破
这就说明之前的猜想是正确的,只要网页没刷新,验证码在burp suite中可以多次使用,直接从repeater中把上图的请求包send to intruder,和上一关一样配置intruder
还是这两个用户可以进行登陆.
第三关 验证码绕过(on client) 绕过步骤 先观察 1.进行测试
用户名和密码输入错误值,当验证码是正确值时,返回结果如下,提示用户名或密码不存在
2.输入错误出现弹窗
这种也是在实站中常会出现的一种验证,但是发现这个一般是前端验证的可能性是非常大的.
用户名和密码输入错误值,当验证码是错误值时,有弹框提示验证码错误,之前对用户名或密码的提示也没有清除.
3.进行验证推测
那根据上面两张图,特别是验证码错误时有弹框这点,我怀疑用户名和密码是在后端验证的,但验证码是在前端验证的。右键检查页面的原代码,发现验证码的验证是从前端进行验证的,当然这里也可以将burp的抓包进行打开,如果输入错误的验证码后提交没有抓到包,那么证明是进行了前端验证,没有经过服务器.
4.输入正确的验证码绕过
既然是前端检测,那直接用burpsuite发请求报文绕过前端就可以了,是前端验证,那么我们只需要输入正确的验证码,就可以抓到包了, 把burpsuite的proxy模块抓到的这个报文send to intruder.也可在burp中设置丢掉js或是在浏览器中禁用js就可以了,绕过了
然后,我们进行上面第一关的操作,这里还是这两个用户可以进行登录
第四关 token防爆破? 绕过步骤
这个目前在我测试的网站中,遇到过比较少了,基本存在token的都在一些接口处,现在的网站多使用cookie以及session进行验证了,基本就是进行爆破次数限制只能爆破5次.
1.抓包进行观察
首先还是观察~这关没有验证码了,用户名或者密码输错会提示用户名或密码不存在
抓包后出现token那既然和token有关,我们用不一样的值login两次看看burpsuite抓到的报文有啥区别?把proxy模块抓到的两次登录的报文send to comparer对比一下,确实两次的token不一样,把proxy模块抓到的报文send to repeater,操作操作,观察一下有什么办法突破:
2.尝试重放 (1)直接重放
先尝试不改动token,直接重放,response中提示 csrf token error
(2)删除token进行重放
尝试删除token,response中什么返回结果都没有
(3)观察返回页面进行分析
虽然前面两条路死了,但是尝试的时候发现response中网页源代码有一个type为hidden,name为token的input标签,value和request报文的token不一样,应该是下一个报文的token。那试一下把request中的token值改为response中的token值,再次send,返回了提示用户名或密码不存在,并且返回了下一次的token值
3.进行爆破配置
根据以上结果,下一次request需要携带的token就是上一次response中html代码中的隐藏字段值,也就是说request中的token是可以从上一个response中提取的,那么还是可以暴力破解,只不过配置稍微复杂一点:
首先position除了username和password再增加token,此外要注意Attack type选Pitchfork(payload一一对应,数量为最少的payload的数量)。.这里为啥要选Pitchfork而不能选Cluster bomb,尝试一下就知道了
由于前面使用的用户名和密码payload列表都是适用于Cluster bomb的,而Pitchfork对payload的要求可能更高一些(需要提前整理好对应关系),我这里并没有把用户名和密码payload列表进行更改,不过通过这种方式确实实现了攻击。
前两个payload就按照第一关进行配置,第三个payload type设置为Recursive grep
上图这个payload options是在哪里设置的呢?就是下图这里
确认上面这个设置之前我觉得保险起见应该在网页源代码里面观察一下有多少符合正则表达式的位置,从下图来看就这一个地方符合,那就妥了
此外还有一个需要注意的地方是线程要设置为1,这是因为每次都要用上次response中返回的token,多线程就会乱套了。
可以发现有每次的token都不同,不过也证明了只要字典够大确实token也并不会影响爆破
总结
是对自己在进行大量渗透测试后,返回来进行复盘,同时也能更好的辅助自己能够扩展更多的渗透思路,也也能对自己的之前的方法进行复习,个人比较喜欢复盘,每次都能够获得新的思考和感悟.
网络安全学习路线&学习资源
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工 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个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
【“脚本小子”成长进阶资源领取】
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!