【网络安全之——漏洞挖掘】

一.为何挖不到漏洞?

信息收集不够多,或者做了信息收集但是分析的不够彻底和仔细。有几点要求需要大家注意:首先是要熟读刑法,了解那些是经过授权的渗透;其次,收集的信息要多,越多越好,包括子域名、端口以及IP段落等,利用搜索引擎或者GitHub上的现成工具;再次,提前了解一些常见的漏洞示例,熟悉漏洞可能存在的地方,可以多看看漏洞平台或者社区上的一些经验。然后,大厂的主站漏洞不是很多,挖掘的难度较大,新手应该绕过,换到子站看一下;最后,不耻下问,多学习,不要仅仅限制于TOP10。

1.什么是src?

SRC,( Security Response Center) ,安全应急响应中心,是企业用来对外接收来自用户发现并报告产品安全漏洞的站点。简单说就是白帽子用于提交随机发现的漏洞的一个平台,提交者可以获取一定的赏金。是企业用于对外接收来自用户发现并报告的产品缺陷的站点。目前主要包含有两种实现方式,第一种是漏洞报告平台,另一种是XSRC模式。

(1)漏洞报告平台

漏洞报告平台是指由独立的第三方公司或机构成立综合性的“安全应急响应中心”。国内补天平台、漏洞盒子平台,以及据此衍生的Sobug众测平台等均属于该模式。外部报告者注册对应漏洞报告平台选择对应的厂商进行报送,接着第三方机构会发送邮件提示相关厂商确认处理。这种模式的缺陷十分明显。厂商的历史漏洞信息会完全暴露给第三方机构,报告中涉及的企业内部大量敏感信息因此外泄,丧失私密性。

(2)xSRC模式

xSRC模式是指企业自己分配工程师开发属于自身的安全应急响应中心,制定自己的漏洞收集和披露计划。目前包括Google、Microsoft、腾讯、阿里巴巴和百度等,均成立了自己的安全应急响应中心,对外收集并处理安全研究员报送的漏洞报告。使用这种模式,企业在漏洞的收集和披露过程中完全掌控了主动性,拥有良好的私密性和可定制性。

2.法律常识,挖洞前要注意不违法。

中华人民共和国网络安全法第二十七条规定,任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

二. 漏洞挖掘的几个关键技术

1.JS在漏洞挖掘重要地位

(1)JS是什么?

JS即javascrip 是一种Web页面的脚本语言,主要用来向HTML页面添加交互行为,主要作用是:

  1. 在HTML页面中嵌入动态文本
  2. 对浏览器的时间做出响应
  3. 读写HTML的元素
  4. 在数据被提交到服务器之前校验数据
  5. 检测访客的浏览器信息

CSS :(Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。

HTML:超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。我们可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。

HTML和CSS以及JS三种前端语言的区别:HTML只包含页面中的文字,就好比是一个毛坯房。CSS包含了图片,颜色以及排版,从而将页面渲染的更加美观就好比一个装修好的房子。JS就是加入一些动作,就好比给装修好的房子加入了智能家居。
HTML

<form name="myForm" action="demo_form.php"
onsubmit="return validateForm()" method="post">
名字: <input type="text" name="fname">
<input type="submit" value="提交">

JS

function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") {
        alert("需要输入名字。");
        return false;

css

<style>
p
{
	color:red;
	text-align:center;
} 
</style>

(2)JS在实战漏洞挖掘中的作用:

  • 1.JS中存在插件名字,根据插件找到相应的漏洞可以直接进行利用
  https://rencaiceping.guazi.com/login.asp?c=1

在这里插入图片描述
在这里插入图片描述
可以搜索第三方公司代码的漏洞进行利用。

  • 2.JS中存在一些URL链接。根据URL链接可以找到相应的页面进行经一步测试和利用。
    在这里插入图片描述

  • 3. JS中存在一些子域名,可以直接访问子域名
    在这里插入图片描述

  • 4. JS中的一些注释可能泄露一些账号密码或者其他信息

在这里插入图片描述
在这里插入图片描述

黑客有可能向该人员发送钓鱼邮件进行漏洞利用。

(3)Jsfind工具

在这里插入图片描述

查找到JS中所有泄露的一些URL
可以使用JSfind工具来查找JS中所有泄露的一些URL和子域名。
**包含关键信息**
包含关键信息的URL。

2.浏览器控制台使用技巧和方式

控制台中调试器主要对JS代码进行动态调试并且保存加载的JS代码
在这里插入图片描述
在这里插入图片描述

3.JS 的断点技巧以及Hook注入

JS的断点调试,打到断点处就不运行了,选择单步步入。
在这里插入图片描述
在关键代码中打断点(点击代码中的行号),通过关键信息找到代码执行的关键步骤,然后一步一步进行调试。
在这里插入图片描述

4.Python和JS 相结合解决加密问题

 1.js文件样例函数如下:


通过Python去调用1.js代码中的函数encryptByDES

首先导入execjs库,定义一个结果唤醒1.js中函数encryptByDES然后传入传参,**相当于一个用Python去调用js中的函数并输出对应的结果。**
在这里插入图片描述
在终端中进行执行后输出结果。
在这里插入图片描述

5. MD5加密与逆向加密参数还原

(1) 打开Burp suite

Burp suite 是用于攻击 web 应用程序的集成平台。它包含了许多 Burp 工具,这些不同的 Burp 工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示 HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。它主要用来做安全性渗透测试。其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描 web 应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查。
下载地址

https://portswigger.net/burp/releases

安装教程

https://zhuanlan.zhihu.com/p/605035559

注册机

https://link.zhihu.com/?target=https%3A//github.com/h3110w0r1d-y/BurpLoaderKeygen/releases

java sdk:

https://link.zhihu.com/?target=https%3A//download.java.net/openjdk/jdk11/ri/openjdk-11%2B28_windows-x64_bin.zip

在这里插入图片描述

Burp suite包括以下几个模块:

proxy:代理,默认地址是127.0.0.1,端口是8080
target:站点目标,地图
spider:爬虫
scanner:漏洞扫描
repeater:http请求消息与响应消息修改重放
intruder:暴力破解
sequencer:随机数分析
decoder:各种编码格式和散列转换
comparer:可视化差异对比功能

在这里插入图片描述

(2)打开Burp suite后在浏览器中配置好代理

在这里插入图片描述
在浏览器中打开要破解的URL并输入用户名和密码点击登录,同时在Burp suite中查看拦截请求中所抓到的包。
在这里插入图片描述
在这里插入图片描述

(3)这个时候回到浏览器控制台中查找到JS中相应的所有密码加密处理函数

在Burp suite所显示的最后值是由如下函数进行md5的3层混合加密后得到的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一层传入的值会先进行md51进行加密。
在这里插入图片描述
第二层的md51加密进行了多层函数的嵌套
在这里插入图片描述
在控制台中逐个进行查找,找到所有的MD5加密处理函数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)将在控制台中找到的所有的MD5加密处理函数都复制到1.js文件中。

在这里插入图片描述
一步步进行调试,找到所有加密过程中所缺失的函数。
在这里插入图片描述

记得对python脚本中的函数名进行更改。
在这里插入图片描述

(5)对所有需要调用的加密函数进行查找复制,直到可以对我们的输入参数进行成功加密并输出。

在这里插入图片描述

(6)代入最开始时的密码加密的公式。

在这里插入图片描述
在控制台中得出随机值,10分钟内会变一次,所有要在10分钟内将加密过程破解完成。
在这里插入图片描述

将加密参数复制到python脚本中运行后得到与Burp suite中相同的数值。自此相当于完成了将网页中加密过程的破解。
在这里插入图片描述

(7)将自己的密码破解字典使用该加密函数进行输出转换然后输入Burp suite中进行破解

随机值字典如下所示:
在这里插入图片描述

然后将随机值按照加密过程进行转换。
在这里插入图片描述
执行结果如下:
在这里插入图片描述

然后输入Burp suite的载荷中进行破解。使用该密码可以成功进行系统登录。
在这里插入图片描述
运行后状态码显示登陆成功,从而得出密码破解成功。
在这里插入图片描述### 备注:
学习笔记取自万里老师教学视频,有需要可以观看原片进行学习:

[1] https://www.bilibili.com/video/BV1824y157K6?p=4&vd_source=789e3cc0e1c08d2d20d3c0ccbc92fda8

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值