通用0day挖掘思路

admin 2024年3月28日01:23:40评论4 views字数 2544阅读8分28秒阅读模式

No.0

前言

一直以来都想写一篇挖通用漏洞的文章,但是因为种种原因(懒得很),但是总不能一直不写吧,因为每天都在挖洞,每天都会有新的不同的思路,自己也很努力的在学php、java基础,想为以后学代码审计做准备,但是在此之前,还是想给大家一些不会代码审计怎么挖掘通用漏洞的思路,每挖到一个漏洞都要看看这个漏洞是不是通用的,养成良好的习惯。我之前也不会挖通用漏洞,但是有一天就是开窍了一样,或者就是运气好吧。

No.1

0day和通用漏洞的理解

0day,就是未被公开的安全漏洞,被称为零日漏洞,可能已被攻击者发现并使用了一个小时、一个月,甚至更长时间。

姑且来说0day就像CVE一样,是一个之前未被发现,直到被人提交到CVE平台后才被公开,被大众所知。
CVE一般来说比较容易成功提交,审核时间在1周到一个月,可能我提交的漏洞都是比较简单的,也不是什么代码审计审出来的,所以通常审核时间在一周就给我发编号了。像CMS、CVE计划中、开源软件、系统的漏洞。用寻找到的目标,来发现漏洞。

CVE提交流程:

1、提交地址

https://cveform.mitre.org/

选择CVE ID进行申请

通用0day挖掘思路

2、页面填写规范

在Email处,填写接收CVE官方的通知邮件的收件箱

通用0day挖掘思路

选择提交的CVE数量,同时确认此漏洞没有被CVE发布编号进行

通用0day挖掘思路

选择所提交漏洞的类型

一般我都是交反射存储型XSS,因为这种简单的漏洞或者资产少的漏洞,CNVD是不收的,所以我一般是能交CNVD就交CNVD,CNVD不要的,我再交到CVE上来,混一个编号

首先是选择一个漏洞类型,这个大家只要翻译一下,看着选就好了

因为没有那么多的漏洞类型,所以大家选择差不多的就可以了

通用0day挖掘思路

发现漏洞的平台,可以是github,也可以是CMS或者是电商系统那种的官网

产品的名称一定要了解清楚,同时版本号如果实在是不知道就填null

通用0day挖掘思路

厂商可以去发邮件告知,也可以在github的源码评论区中发送告知

漏洞复现的类型是看本地复现还是公网复现的

攻击手段有代码执行其他等等,一般选择代码执行就可以了

受影响的组件,比如是评论区呀,收货地址呀,这些都要通过翻译进行填写上去

POC这个不用多说,怎么复现的,怎么写

通用0day挖掘思路

漏洞描述一下有什么危害,代号写一下

最后两个可以填一样的,就是github上发布跟此漏洞相关的就行

通用0day挖掘思路

最后就是看清楚验证码进行提交即可,过几分钟CVE就发邮件给你,告知分配下去了

通用0day挖掘思路

通用漏洞,就是通用型,POC通通都适用,类似于0day的概念。

CNVD平台的收录条件很严,收录标准更是苛刻形容

通用型漏洞得十个网络案例以上

事件型漏洞必须是三大运营商(移动、联通、电信)的高危漏洞,或者党政机关、重要行业单位、科研院所、重要企事业单位(如:中央国有大型企业、部委直属事业单位等)的高危事件型漏洞才会颁发原创漏洞证书。

No.2

通用漏洞的挖掘方法

通用是你自己挖到的从未没公开过或者有细节的漏洞叫通用

我觉得挖掘通用漏洞是从点到面,我都是发现了某个漏洞点,后面发现不对劲,感觉这站点是CMS,或者还有其他网站在用这种感觉。不管是渗透测试还是代码审计还说,都是唯手熟尔。没有捷径可走,都是遇到的问题多了,下次就能记住,并且能成功发掘出来,我觉得技术这种东西就是比昨天多一点,比明天少一点。

真的想挖掘通用漏洞的方法还是要有针对性的目标和漏洞挖掘,首先来给本章定一个基调,那就是挖掘一个通用的漏洞。

首先看这样一个页面,判断为邮箱登录账号密码,本来目的是测试有没有sql注入,万能密码绕过,再不济看看网站有没有弱口令爆破的,没成想测出来反射型的XSS漏洞,而后又因为一些比较明显的特征发现了通用性

已知此处有漏洞,该如何发现是通用漏洞?

通用0day挖掘思路

三个点:

1、logo,也被称为icon

2、模板,也被称为标识符

3、特定的title

看一下这个页面,可以直接插入payload测试出是否会包含在html页面中

locks@qq.com<script>alert('XSS')</script>
通用0day挖掘思路

可以看到在XSS中的单引号转义,这种情况我一般直接去掉单引号

通用0day挖掘思路

发现还是被上面参数包裹,现在就是要闭合上面的,跳出来进行执行语句

通用0day挖掘思路

locks未弹窗

"<zzz><script>alert(locks)</script>
通用0day挖掘思路

数字却弹窗了

"<zzz><script>alert(666)</script>
通用0day挖掘思路
通用0day挖掘思路

用document.cookie弹出cookie

通用0day挖掘思路

分析为什么字符不弹,数字却弹窗了

<input type="text" name="email" value="[email protected]" <zzz=""><script>alert(666)</script>" class="input-block-level" placeholder="E-Mail address" /&gt;

将payload插入到元素的value属性中。这种情况下,脚本并不会执行,因为value属性的值不会被解释为JavaScript代码。

使用

`<script>alert(locks)</script>

,但浏览器不会将其视为有效的JavaScript代码,因为它被包含在value属性中

使用

<script>alert(666)</script>`,

,同样,浏览器也不会将其视为有效的JavaScript代码,因为它也被包含在value属性中。然而,在某些情况下,浏览器可能会尝试进行一些自动的HTML修复,而且这种行为可能因浏览器而异。这就是为什么它可能触发了警报框的原因。

通用0day挖掘思路

No.3

通用漏洞案例研究

实际通用漏洞案例分析

看见这个聊天框发送,一开始是想测这个发送到页面是否存在XSS或者SQL注入的

经过测试发现没有

通用0day挖掘思路

后面转移思路,发现这个可以捕获到IP地址

通用0day挖掘思路

成功打出XSS,SQL注入不存在

通用0day挖掘思路

发现漏洞后,进主页看logo和title用hunter或者fofa查就行

No.4

挖掘通用漏洞结论

简单来说就是黑盒测 然后用logo title 关键字上hunter等工具查是不是通用的就行

可以再进一步搜索这个公司乃至这个系统历史漏洞。

参考链接:

https://mp.weixin.qq.com/s/1YZ3NqT3vRjnys8pTcESgQ

Tips

原文始发于微信公众号(信安404):通用0day挖掘思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月28日01:23:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通用0day挖掘思路http://cn-sec.com/archives/2594374.html

发表评论

匿名网友 填写信息